Use BuildTestAppAction and migrate from Panther to Chrome session #104
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Build | |
| on: | |
| push: | |
| branches-ignore: | |
| - 'dependabot/**' | |
| paths-ignore: | |
| - "*.md" | |
| pull_request: | |
| paths-ignore: | |
| - "*.md" | |
| release: | |
| types: [created] | |
| schedule: | |
| - | |
| cron: "0 1 * * 6" # Run at 1am every Saturday | |
| workflow_dispatch: ~ | |
| concurrency: | |
| group: ${{ github.workflow }}-${{ github.ref }} | |
| cancel-in-progress: true | |
| jobs: | |
| tests: | |
| runs-on: ubuntu-latest | |
| name: "Sylius ${{ matrix.sylius }}, PHP ${{ matrix.php }}, Symfony ${{ matrix.symfony }}, ${{ matrix.database }}" | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| php: ["8.3"] | |
| symfony: ["^6.4", "~7.3.0"] | |
| sylius: ["~2.0.0", "~2.1.0"] | |
| database: ["mysql:8.4"] | |
| node: ["22.x"] | |
| env: | |
| APP_ENV: test | |
| steps: | |
| - | |
| uses: actions/checkout@v4 | |
| - | |
| name: Parse database string | |
| run: | | |
| DB_TYPE="${DATABASE%%:*}" | |
| DB_VERSION="${DATABASE##*:}" | |
| echo "DB_TYPE=$DB_TYPE" >> $GITHUB_ENV | |
| echo "DB_VERSION=$DB_VERSION" >> $GITHUB_ENV | |
| if [ "$DB_TYPE" = "postgres" ]; then | |
| echo "DATABASE_URL=pgsql://postgres:postgres@127.0.0.1/sylius?serverVersion=$DB_VERSION" >> $GITHUB_ENV | |
| else | |
| echo "DATABASE_URL=mysql://root:root@127.0.0.1/sylius?serverVersion=$DB_VERSION" >> $GITHUB_ENV | |
| fi | |
| env: | |
| DATABASE: ${{ matrix.database }} | |
| - | |
| name: Build Sylius Test Application | |
| uses: SyliusLabs/BuildTestAppAction@v3.2.0 | |
| with: | |
| e2e_js: "yes" | |
| cache_key: "${{ runner.os }}-php-${{ matrix.php }}-composer-${{ hashFiles('**/composer.json') }}" | |
| cache_restore_key: "${{ runner.os }}-php-${{ matrix.php }}-composer-" | |
| database: "${{ env.DB_TYPE }}" | |
| database_version: "${{ env.DB_VERSION }}" | |
| node_version: "${{ matrix.node }}" | |
| php_version: "${{ matrix.php }}" | |
| sylius_version: "${{ matrix.sylius }}" | |
| symfony_version: "${{ matrix.symfony }}" | |
| - | |
| name: Run unit tests | |
| run: vendor/bin/phpunit --colors=always --testsuite=unit | |
| - | |
| name: Validate composer.json | |
| run: composer validate --ansi --strict | |
| - | |
| name: Validate container | |
| run: vendor/bin/console lint:container | |
| - | |
| name: Run Non-unit PHPUnit tests | |
| run: vendor/bin/phpunit --colors=always --testsuite=non-unit | |
| - | |
| 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@v4 | |
| if: failure() | |
| with: | |
| name: "Behat logs - ${{ matrix.sylius }}-${{ github.run_id }}-${{ github.run_number }}" | |
| path: etc/build/ | |
| if-no-files-found: ignore | |
| compression-level: 6 | |
| overwrite: true |