From 25a7c7bc7f016b6fae16201cca310a9b3297c9cb Mon Sep 17 00:00:00 2001 From: Alejandro Celaya Date: Mon, 1 Aug 2022 16:56:25 +0200 Subject: [PATCH 1/3] Added cache for composer dependencies during CI --- .github/workflows/ci.yml | 48 ++++++++++++++++++++++++++++++++++++---- 1 file changed, 44 insertions(+), 4 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 1088e0f9..6a4a67d6 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -25,7 +25,17 @@ jobs: tools: composer extensions: openswoole-4.11.1 coverage: none - - run: composer install --no-interaction --prefer-dist + - name: Get composer cache directory + id: composer-cache + run: echo "::set-output name=dir::$(composer config cache-files-dir)" + - name: Cache dependencies + uses: actions/cache@v2 + with: + path: ${{ steps.composer-cache.outputs.dir }} + key: ${{ runner.os }}-composer-${{ hashFiles('**/composer.json') }} + restore-keys: ${{ runner.os }}-composer- + - name: Install dependencies + run: composer install --no-interaction --prefer-dist - run: composer ${{ matrix.command }} tests: @@ -48,7 +58,17 @@ jobs: extensions: openswoole-4.11.1 coverage: pcov ini-values: pcov.directory=module - - run: composer install --no-interaction --prefer-dist + - name: Get composer cache directory + id: composer-cache + run: echo "::set-output name=dir::$(composer config cache-files-dir)" + - name: Cache dependencies + uses: actions/cache@v2 + with: + path: ${{ steps.composer-cache.outputs.dir }} + key: ${{ runner.os }}-composer-${{ hashFiles('**/composer.json') }} + restore-keys: ${{ runner.os }}-composer- + - name: Install dependencies + run: composer install --no-interaction --prefer-dist - run: composer test:${{ matrix.test-group }}:ci - uses: actions/upload-artifact@v2 if: ${{ matrix.php-version == '8.1' }} @@ -83,7 +103,17 @@ jobs: extensions: openswoole-4.11.1, pdo_sqlsrv-5.10.0 coverage: pcov ini-values: pcov.directory=module - - run: composer install --no-interaction --prefer-dist + - name: Get composer cache directory + id: composer-cache + run: echo "::set-output name=dir::$(composer config cache-files-dir)" + - name: Cache dependencies + uses: actions/cache@v2 + with: + path: ${{ steps.composer-cache.outputs.dir }} + key: ${{ runner.os }}-composer-${{ hashFiles('**/composer.json') }} + restore-keys: ${{ runner.os }}-composer- + - name: Install dependencies + run: composer install --no-interaction --prefer-dist - name: Create test database if: ${{ matrix.platform == 'ms' }} run: docker-compose exec -T shlink_db_ms /opt/mssql-tools/bin/sqlcmd -S localhost -U sa -P 'Passw0rd!' -Q "CREATE DATABASE shlink_test;" @@ -118,7 +148,17 @@ jobs: extensions: openswoole-4.11.1 coverage: pcov ini-values: pcov.directory=module - - run: composer install --no-interaction --prefer-dist + - name: Get composer cache directory + id: composer-cache + run: echo "::set-output name=dir::$(composer config cache-files-dir)" + - name: Cache dependencies + uses: actions/cache@v2 + with: + path: ${{ steps.composer-cache.outputs.dir }} + key: ${{ runner.os }}-composer-${{ hashFiles('**/composer.json') }} + restore-keys: ${{ runner.os }}-composer- + - name: Install dependencies + run: composer install --no-interaction --prefer-dist - uses: actions/download-artifact@v2 with: path: build From b2ca4ad66bb935f4054e20f46f15482ebc2659fa Mon Sep 17 00:00:00 2001 From: Alejandro Celaya Date: Mon, 1 Aug 2022 17:13:34 +0200 Subject: [PATCH 2/3] Migrated all workflows to ubuntu-22.04 --- .github/workflows/ci.yml | 22 +++++++++++----------- .github/workflows/docker-image-build.yml | 2 +- .github/workflows/publish-release.yml | 6 +++--- .github/workflows/publish-swagger-spec.yml | 2 +- 4 files changed, 16 insertions(+), 16 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 6a4a67d6..ebabcff4 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -10,7 +10,7 @@ on: jobs: static-analysis: - runs-on: ubuntu-20.04 + runs-on: ubuntu-22.04 strategy: matrix: php-version: ['8.1'] @@ -29,7 +29,7 @@ jobs: id: composer-cache run: echo "::set-output name=dir::$(composer config cache-files-dir)" - name: Cache dependencies - uses: actions/cache@v2 + uses: actions/cache@v3 with: path: ${{ steps.composer-cache.outputs.dir }} key: ${{ runner.os }}-composer-${{ hashFiles('**/composer.json') }} @@ -39,7 +39,7 @@ jobs: - run: composer ${{ matrix.command }} tests: - runs-on: ubuntu-20.04 + runs-on: ubuntu-22.04 strategy: matrix: php-version: ['8.1'] @@ -62,7 +62,7 @@ jobs: id: composer-cache run: echo "::set-output name=dir::$(composer config cache-files-dir)" - name: Cache dependencies - uses: actions/cache@v2 + uses: actions/cache@v3 with: path: ${{ steps.composer-cache.outputs.dir }} key: ${{ runner.os }}-composer-${{ hashFiles('**/composer.json') }} @@ -79,7 +79,7 @@ jobs: build/coverage-${{ matrix.test-group }}.cov db-tests: - runs-on: ubuntu-20.04 + runs-on: ubuntu-22.04 strategy: matrix: php-version: ['8.1'] @@ -107,7 +107,7 @@ jobs: id: composer-cache run: echo "::set-output name=dir::$(composer config cache-files-dir)" - name: Cache dependencies - uses: actions/cache@v2 + uses: actions/cache@v3 with: path: ${{ steps.composer-cache.outputs.dir }} key: ${{ runner.os }}-composer-${{ hashFiles('**/composer.json') }} @@ -132,7 +132,7 @@ jobs: needs: - tests - db-tests - runs-on: ubuntu-20.04 + runs-on: ubuntu-22.04 strategy: matrix: php-version: ['8.1'] @@ -152,7 +152,7 @@ jobs: id: composer-cache run: echo "::set-output name=dir::$(composer config cache-files-dir)" - name: Cache dependencies - uses: actions/cache@v2 + uses: actions/cache@v3 with: path: ${{ steps.composer-cache.outputs.dir }} key: ${{ runner.os }}-composer-${{ hashFiles('**/composer.json') }} @@ -173,7 +173,7 @@ jobs: needs: - tests - db-tests - runs-on: ubuntu-20.04 + runs-on: ubuntu-22.04 strategy: matrix: php-version: ['8.1'] @@ -203,7 +203,7 @@ jobs: needs: - mutation-tests - upload-coverage - runs-on: ubuntu-20.04 + runs-on: ubuntu-22.04 steps: - uses: geekyeggo/delete-artifact@v1 with: @@ -213,7 +213,7 @@ jobs: coverage-api build-docker-image: - runs-on: ubuntu-20.04 + runs-on: ubuntu-22.04 steps: - name: Checkout code uses: actions/checkout@v2 diff --git a/.github/workflows/docker-image-build.yml b/.github/workflows/docker-image-build.yml index a4f47026..fb24e60b 100644 --- a/.github/workflows/docker-image-build.yml +++ b/.github/workflows/docker-image-build.yml @@ -9,7 +9,7 @@ on: jobs: build: - runs-on: ubuntu-20.04 + runs-on: ubuntu-22.04 steps: - name: Checkout code uses: actions/checkout@v2 diff --git a/.github/workflows/publish-release.yml b/.github/workflows/publish-release.yml index c4c10e3f..4903fe52 100644 --- a/.github/workflows/publish-release.yml +++ b/.github/workflows/publish-release.yml @@ -7,7 +7,7 @@ on: jobs: build: - runs-on: ubuntu-20.04 + runs-on: ubuntu-22.04 strategy: matrix: php-version: ['8.1'] @@ -32,7 +32,7 @@ jobs: publish: needs: ['build'] - runs-on: ubuntu-20.04 + runs-on: ubuntu-22.04 steps: - name: Checkout code uses: actions/checkout@v2 @@ -50,7 +50,7 @@ jobs: delete-artifacts: needs: ['publish'] - runs-on: ubuntu-20.04 + runs-on: ubuntu-22.04 strategy: matrix: php-version: ['8.1'] diff --git a/.github/workflows/publish-swagger-spec.yml b/.github/workflows/publish-swagger-spec.yml index c3bbcc96..83864389 100644 --- a/.github/workflows/publish-swagger-spec.yml +++ b/.github/workflows/publish-swagger-spec.yml @@ -7,7 +7,7 @@ on: jobs: build: - runs-on: ubuntu-20.04 + runs-on: ubuntu-22.04 strategy: matrix: php-version: ['8.1'] From 3ac2b77bf09fad8c3c2f92b62fdebc9b172edc39 Mon Sep 17 00:00:00 2001 From: Alejandro Celaya Date: Mon, 1 Aug 2022 17:23:51 +0200 Subject: [PATCH 3/3] Removed composer cache due to a bug in github runner making it fail --- .github/workflows/ci.yml | 36 ------------------------------------ 1 file changed, 36 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index ebabcff4..c17495f0 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -25,15 +25,6 @@ jobs: tools: composer extensions: openswoole-4.11.1 coverage: none - - name: Get composer cache directory - id: composer-cache - run: echo "::set-output name=dir::$(composer config cache-files-dir)" - - name: Cache dependencies - uses: actions/cache@v3 - with: - path: ${{ steps.composer-cache.outputs.dir }} - key: ${{ runner.os }}-composer-${{ hashFiles('**/composer.json') }} - restore-keys: ${{ runner.os }}-composer- - name: Install dependencies run: composer install --no-interaction --prefer-dist - run: composer ${{ matrix.command }} @@ -58,15 +49,6 @@ jobs: extensions: openswoole-4.11.1 coverage: pcov ini-values: pcov.directory=module - - name: Get composer cache directory - id: composer-cache - run: echo "::set-output name=dir::$(composer config cache-files-dir)" - - name: Cache dependencies - uses: actions/cache@v3 - with: - path: ${{ steps.composer-cache.outputs.dir }} - key: ${{ runner.os }}-composer-${{ hashFiles('**/composer.json') }} - restore-keys: ${{ runner.os }}-composer- - name: Install dependencies run: composer install --no-interaction --prefer-dist - run: composer test:${{ matrix.test-group }}:ci @@ -103,15 +85,6 @@ jobs: extensions: openswoole-4.11.1, pdo_sqlsrv-5.10.0 coverage: pcov ini-values: pcov.directory=module - - name: Get composer cache directory - id: composer-cache - run: echo "::set-output name=dir::$(composer config cache-files-dir)" - - name: Cache dependencies - uses: actions/cache@v3 - with: - path: ${{ steps.composer-cache.outputs.dir }} - key: ${{ runner.os }}-composer-${{ hashFiles('**/composer.json') }} - restore-keys: ${{ runner.os }}-composer- - name: Install dependencies run: composer install --no-interaction --prefer-dist - name: Create test database @@ -148,15 +121,6 @@ jobs: extensions: openswoole-4.11.1 coverage: pcov ini-values: pcov.directory=module - - name: Get composer cache directory - id: composer-cache - run: echo "::set-output name=dir::$(composer config cache-files-dir)" - - name: Cache dependencies - uses: actions/cache@v3 - with: - path: ${{ steps.composer-cache.outputs.dir }} - key: ${{ runner.os }}-composer-${{ hashFiles('**/composer.json') }} - restore-keys: ${{ runner.os }}-composer- - name: Install dependencies run: composer install --no-interaction --prefer-dist - uses: actions/download-artifact@v2