The goal of this action is to reduce the repetitive part of our every Sylius GitHub Workflow file.
Below you can find an example of a workflow file that uses this action. Keep in mind actions/checkout@v2
and shivammathur/setup-php@v2
action are required and must be run before SyliusLabs/BuildTestAppAction
action.
name: Sample Workflow
on:
push: ~
jobs:
tests:
runs-on: ubuntu-latest
name: "Sylius ${{ matrix.sylius }}, PHP ${{ matrix.php }}, Symfony ${{ matrix.symfony }}, MySQL ${{ matrix.mysql }}"
env:
APP_ENV: test_cached
DATABASE_URL: "mysql://root:root@127.0.0.1/sylius?serverVersion=${{ matrix.mysql }}"
strategy:
fail-fast: false
matrix:
php: [ "8.1" ]
symfony: [ "^5.4" ]
sylius: [ "^1.11" ]
node: [ "16.x" ]
mysql: [ "8.0" ]
steps:
- uses: actions/checkout@v2
- name: Setup PHP
uses: shivammathur/setup-php@v2
env:
runner: self-hosted
with:
php-version: "${{ matrix.php }}"
extensions: intl
tools: symfony
coverage: none
- name: Build test application
uses: SyliusLabs/BuildTestAppAction@<tag> # <tag> is the version of the action you want to use, you can find the latest version on the releases page
with:
sylius-version: "${{ matrix.sylius }}" # Sylius version, required
symfony-version: "${{ matrix.symfony }}" # Symfony version, required
mysql-version: "${{ matrix.mysql }}" # MySQL version, required
node-version: "${{ matrix.node }}" # Node version, optional, default: 16.x
environment: "test" # Environment, optional, default: test
working-directory: "src/SomeSyliusPlugin" # Working directory in which commands are run, optional, default: "." (root directory)
plugin-build: "yes" # Tells whether we build an app or plugin, optional, default: no
- name: Run Behat
run: |
vendor/bin/behat