From acfa44c3c8ccb113dd3357508855b9a4e2951861 Mon Sep 17 00:00:00 2001 From: Grzegorz Sadowski Date: Wed, 27 Apr 2022 07:49:02 +0200 Subject: [PATCH 1/2] [GitHub Actions] Include build with PDF generation disabled to the main workflow --- .github/workflows/build.yml | 158 +++--------------------------------- 1 file changed, 13 insertions(+), 145 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 5a339631..a2f5a2cd 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -14,7 +14,7 @@ jobs: tests: runs-on: ubuntu-latest - name: "Sylius ${{ matrix.sylius }}, PHP ${{ matrix.php }}, Symfony ${{ matrix.symfony }}, MySQL ${{ matrix.mysql }}" + name: "Sylius ${{ matrix.sylius }}, PHP ${{ matrix.php }}, Symfony ${{ matrix.symfony }}, MySQL ${{ matrix.mysql }}, PDF: ${{ matrix.pdf }}" strategy: fail-fast: false @@ -24,151 +24,16 @@ jobs: sylius: ["~1.10.0", "~1.11.0"] node: ["14.x"] mysql: ["5.7", "8.0"] + pdf: [true] - env: - APP_ENV: test - DATABASE_URL: "mysql://root:root@127.0.0.1/sylius?serverVersion=${{ matrix.mysql }}" - - steps: - - - uses: actions/checkout@v2 - - - - name: Setup PHP - uses: shivammathur/setup-php@v2 - with: - php-version: "${{ matrix.php }}" - extensions: intl - tools: symfony - coverage: none - - - - name: Setup Node - uses: actions/setup-node@v1 - with: - node-version: "${{ matrix.node }}" - - - - name: Shutdown default MySQL - run: sudo service mysql stop - - - - name: Setup MySQL - uses: mirromutth/mysql-action@v1.1 - with: - mysql version: "${{ matrix.mysql }}" - mysql root password: "root" - - - - name: Get Composer cache directory - id: composer-cache - run: echo "::set-output name=dir::$(composer config cache-files-dir)" - - - - name: Cache Composer - uses: actions/cache@v2 - with: - path: ${{ steps.composer-cache.outputs.dir }} - key: ${{ runner.os }}-php-${{ matrix.php }}-composer-${{ hashFiles('**/composer.json **/composer.lock') }} - restore-keys: | - ${{ runner.os }}-php-${{ matrix.php }}-composer- - - - - name: Restrict Symfony version - if: matrix.symfony != '' - run: | - composer global require --no-progress --no-scripts --no-plugins "symfony/flex:^1.10" - composer config extra.symfony.require "${{ matrix.symfony }}" - - - - name: Restrict Sylius version - if: matrix.sylius != '' - run: composer require "sylius/sylius:${{ matrix.sylius }}" --no-update --no-scripts --no-interaction - - - - name: Install PHP dependencies - run: composer install --no-interaction - - - - name: Get Yarn cache directory - id: yarn-cache - run: echo "::set-output name=dir::$(yarn cache dir)" - - - - name: Cache Yarn - uses: actions/cache@v2 - with: - path: ${{ steps.yarn-cache.outputs.dir }} - key: ${{ runner.os }}-node-${{ matrix.node }}-yarn-${{ hashFiles('**/package.json **/yarn.lock') }} - restore-keys: | - ${{ runner.os }}-node-${{ matrix.node }}-yarn- - - - - name: Install JS dependencies - run: (cd tests/Application && yarn install) - - - - name: Prepare test application database - run: | - (cd tests/Application && bin/console doctrine:database:create -vvv) - (cd tests/Application && bin/console doctrine:migrations:migrate -n -vvv -q) - - - - name: Prepare test application assets - run: | - (cd tests/Application && bin/console assets:install public -vvv) - (cd tests/Application && yarn build) - - - - name: Prepare test application cache - run: (cd tests/Application && bin/console cache:warmup -vvv) - - - - name: Load fixtures in test application - run: (cd tests/Application && bin/console sylius:fixtures:load -n) - - - - name: Run security check - run: symfony security:check - - - - name: Run analysis - run: composer analyse - - - - name: Run PHPSpec - run: vendor/bin/phpspec run --ansi -f progress --no-interaction - - - - name: Run PHPUnit - run: vendor/bin/phpunit --colors=always - - - - name: Run Behat - run: vendor/bin/behat --colors --strict -vvv --no-interaction -f progress || vendor/bin/behat --colors --strict -vvv --no-interaction -f progress --rerun - - - - name: Upload Behat logs - uses: actions/upload-artifact@v2 - if: failure() - with: - name: Behat logs - path: etc/build/ - if-no-files-found: ignore - - tests-with-pdf-generation-disabled: - runs-on: ubuntu-latest - - name: "PDF generation disabled: Sylius ${{ matrix.sylius }}, PHP ${{ matrix.php }}, Symfony ${{ matrix.symfony }}, MySQL ${{ matrix.mysql }}" - - strategy: - fail-fast: false - matrix: - php: ["8.1"] - symfony: ["^5.4"] - sylius: ["~1.11.0"] - node: ["14.x"] - mysql: ["8.0"] + include: + - + php: "8.1" + symfony: "^5.4" + sylius: "~1.11.0" + node: "14.x" + mysql: "8.0" + pdf: false env: APP_ENV: test @@ -206,10 +71,12 @@ jobs: - name: Remove wkhtmltopdf binary + if: matrix.pdf == false run: rm tests/Application/etc/wkhtmltopdf - name: Disable PDF generation + if: matrix.pdf == false run: mv tests/Application/etc/sylius_invoicing_pdf_generation_disabled.yaml tests/Application/config/packages - @@ -298,6 +165,7 @@ jobs: - name: Replace excluded directory in Behat + if: matrix.pdf == false run: sed -i 's/pdf_generation_disabled/pdf_generation_enabled/g' behat.yml.dist - From af16a2ef405d8b71c385bdf9278491a2ef83fbe2 Mon Sep 17 00:00:00 2001 From: Grzegorz Sadowski Date: Wed, 27 Apr 2022 09:07:01 +0200 Subject: [PATCH 2/2] [GitHub Actions] Merge steps for disabling PDF generation into one --- .github/workflows/build.yml | 15 ++++----------- 1 file changed, 4 insertions(+), 11 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index a2f5a2cd..b3549762 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -69,15 +69,13 @@ jobs: mysql version: "${{ matrix.mysql }}" mysql root password: "root" - - - name: Remove wkhtmltopdf binary - if: matrix.pdf == false - run: rm tests/Application/etc/wkhtmltopdf - - name: Disable PDF generation if: matrix.pdf == false - run: mv tests/Application/etc/sylius_invoicing_pdf_generation_disabled.yaml tests/Application/config/packages + run: | + rm tests/Application/etc/wkhtmltopdf + mv tests/Application/etc/sylius_invoicing_pdf_generation_disabled.yaml tests/Application/config/packages + sed -i 's/pdf_generation_disabled/pdf_generation_enabled/g' behat.yml.dist - name: Get Composer cache directory @@ -163,11 +161,6 @@ jobs: name: Run PHPUnit run: vendor/bin/phpunit --colors=always - - - name: Replace excluded directory in Behat - if: matrix.pdf == false - run: sed -i 's/pdf_generation_disabled/pdf_generation_enabled/g' behat.yml.dist - - name: Run Behat run: vendor/bin/behat --colors --strict -vvv --no-interaction -f progress || vendor/bin/behat --colors --strict -vvv --no-interaction -f progress --rerun