Skip to content

Run contract tests if they're changed #5

Run contract tests if they're changed

Run contract tests if they're changed #5

Workflow file for this run

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: ci-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
tests:
runs-on: ubuntu-latest
name: "Sylius ${{ matrix.sylius }}, PHP ${{ matrix.php }}, Symfony ${{ matrix.symfony }}, MySQL ${{ matrix.mysql }}"
strategy:
fail-fast: false
matrix:
php: ["8.1", "8.2"]
symfony: ["^5.4", "^6.4"]
sylius: ["~1.10.0", "~1.11.0", "~1.12.0", "~1.13.0"]
mysql: ["8.0"]
node: ["18.x"]
exclude:
-
symfony: "^6.4"
sylius: "~1.10.0"
-
symfony: "^6.4"
sylius: "~1.11.0"
env:
APP_ENV: test
DATABASE_URL: "mysql://root:[email protected]/sylius?serverVersion=${{ matrix.mysql }}"
SAFERPAY_TEST_API_URL: "http://localhost:4000/"
steps:
- uses: actions/checkout@v4
- name: Setup PHP
uses: shivammathur/setup-php@v2
with:
php-version: "${{ matrix.php }}"
extensions: intl
tools: flex,symfony
coverage: none
- name: Build test application
uses: SyliusLabs/[email protected]
with:
e2e: "yes"
e2e_js: "yes"
php_version: "${{ matrix.php }}"
symfony_version: "${{ matrix.symfony }}"
sylius_version: "${{ matrix.sylius }}"
database_version: "${{ matrix.mysql }}"
node_version: "${{ matrix.node }}"
build_type: "plugin"
- name: Run ECS
run: vendor/bin/ecs check
- name: Run PHPStan
run: vendor/bin/phpstan 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 Mockoon
run: |
npm install -g @mockoon/cli
npx mockoon-cli start --data tests/mockoon.json &
- name: Run Behat
run: vendor/bin/behat --format=progress --colors --strict -vvv --no-interaction --tags="~@todo"
- name: Upload Behat logs
uses: actions/upload-artifact@v3
if: failure()
with:
name: Behat logs
path: etc/build/
if-no-files-found: ignore