Skip to content

Take the 'ship' transition on the shipment instead of the order and also set the tracking number on the shipment #117

Take the 'ship' transition on the shipment instead of the order and also set the tracking number on the shipment

Take the 'ship' transition on the shipment instead of the order and also set the tracking number on the shipment #117

Workflow file for this run

name: "build"
on:
push:
branches:
- "master"
paths-ignore:
- "**/*.md"
pull_request:
paths-ignore:
- "**/*.md"
workflow_dispatch: ~
env:
APP_ENV: "test"
DATABASE_URL: "mysql://root:root@127.0.0.1/sylius?serverVersion=8.0"
PHP_EXTENSIONS: "intl, mbstring"
jobs:
coding-standards:
name: "Coding Standards (PHP${{ matrix.php-version }} | Deps: ${{ matrix.dependencies }})"
runs-on: "ubuntu-latest"
strategy:
matrix:
php-version:
- "8.1" # Always use the lowest version of PHP since a higher version could create actual syntax errors in lower versions
dependencies:
- "highest"
steps:
- name: "Checkout"
uses: "actions/checkout@v4"
- name: "Setup PHP, with composer and extensions"
uses: "shivammathur/setup-php@v2"
with:
php-version: "${{ matrix.php-version }}"
extensions: "${{ env.PHP_EXTENSIONS }}"
coverage: "none"
- name: "Install composer dependencies"
uses: "ramsey/composer-install@v3"
with:
dependency-versions: "${{ matrix.dependencies }}"
- name: "Validate composer"
run: "composer validate --strict"
- name: "Check composer normalized"
run: "composer normalize --dry-run"
- name: "Check style"
run: "composer check-style"
- name: "Rector"
run: "vendor/bin/rector process --dry-run"
- name: "Lint yaml files"
run: "(cd tests/Application && bin/console lint:yaml ../../src/Resources)"
- name: "Lint twig files"
run: "(cd tests/Application && bin/console lint:twig ../../src/Resources)"
dependency-analysis:
name: "Dependency Analysis (PHP${{ matrix.php-version }} | Deps: ${{ matrix.dependencies }} | SF${{ matrix.symfony }})"
runs-on: "ubuntu-latest"
strategy:
matrix:
php-version:
- "8.1"
- "8.2"
dependencies:
- "lowest"
- "highest"
symfony:
- "~5.4.0"
- "~6.4.0"
steps:
- name: "Checkout"
uses: "actions/checkout@v4"
- name: "Setup PHP, with composer and extensions"
uses: "shivammathur/setup-php@v2"
with:
coverage: "none"
extensions: "${{ env.PHP_EXTENSIONS }}"
php-version: "${{ matrix.php-version }}"
tools: "flex"
- name: "Remove require-dev section in composer.json"
run: "composer config --unset require-dev"
- name: "Add shipmonk/composer-dependency-analyser to composer.json"
run: "composer require --dev --no-install --no-update --no-plugins --no-scripts shipmonk/composer-dependency-analyser"
- name: "Install composer dependencies"
uses: "ramsey/composer-install@v3"
env:
SYMFONY_REQUIRE: "${{ matrix.symfony }}"
with:
dependency-versions: "${{ matrix.dependencies }}"
- name: "Run dependency analysis"
run: "vendor/bin/composer-dependency-analyser"
static-code-analysis:
name: "Static Code Analysis (PHP${{ matrix.php-version }} | Deps: ${{ matrix.dependencies }} | SF${{ matrix.symfony }})"
runs-on: "ubuntu-latest"
strategy:
matrix:
php-version:
- "8.1"
- "8.2"
dependencies:
- "lowest"
- "highest"
symfony:
- "~5.4.0"
- "~6.4.0"
steps:
- name: "Checkout"
uses: "actions/checkout@v4"
- name: "Setup PHP, with composer and extensions"
uses: "shivammathur/setup-php@v2"
with:
coverage: "none"
extensions: "${{ env.PHP_EXTENSIONS }}"
php-version: "${{ matrix.php-version }}"
tools: "flex"
- name: "Remove sylius/sylius from composer.json"
run: "composer remove --dev --no-update --no-plugins --no-scripts sylius/sylius"
- name: "Install composer dependencies"
uses: "ramsey/composer-install@v3"
env:
SYMFONY_REQUIRE: "${{ matrix.symfony }}"
with:
dependency-versions: "${{ matrix.dependencies }}"
- name: "Static analysis"
run: "vendor/bin/psalm --php-version=${{ matrix.php-version }}"
unit-tests:
name: "Unit tests (PHP${{ matrix.php-version }} | Deps: ${{ matrix.dependencies }} | SF${{ matrix.symfony }})"
runs-on: "ubuntu-latest"
strategy:
matrix:
php-version:
- "8.1"
- "8.2"
dependencies:
- "lowest"
- "highest"
symfony:
- "~5.4.0"
- "~6.4.0"
steps:
- name: "Checkout"
uses: "actions/checkout@v4"
- name: "Setup PHP, with composer and extensions"
uses: "shivammathur/setup-php@v2"
with:
coverage: "none"
extensions: "${{ env.PHP_EXTENSIONS }}"
php-version: "${{ matrix.php-version }}"
tools: "flex"
- name: "Install composer dependencies"
uses: "ramsey/composer-install@v3"
env:
SYMFONY_REQUIRE: "${{ matrix.symfony }}"
with:
dependency-versions: "${{ matrix.dependencies }}"
- name: "Run phpunit"
run: "composer unit-tests"
integration-tests:
name: "Integration tests (PHP${{ matrix.php-version }} | Deps: ${{ matrix.dependencies }} | SF${{ matrix.symfony }})"
runs-on: "ubuntu-latest"
strategy:
matrix:
php-version:
- "8.1"
- "8.2"
dependencies:
- "highest"
symfony:
- "~5.4.0"
- "~6.4.0"
steps:
- name: "Start MySQL"
run: "sudo /etc/init.d/mysql start"
- name: "Checkout"
uses: "actions/checkout@v4"
- name: "Setup PHP, with composer and extensions"
uses: "shivammathur/setup-php@v2"
with:
coverage: "none"
extensions: "${{ env.PHP_EXTENSIONS }}"
php-version: "${{ matrix.php-version }}"
tools: "flex"
- name: "Install composer dependencies"
uses: "ramsey/composer-install@v3"
env:
SYMFONY_REQUIRE: "${{ matrix.symfony }}"
with:
dependency-versions: "${{ matrix.dependencies }}"
- name: "Lint container"
run: "(cd tests/Application && bin/console lint:container)"
- name: "Create database"
run: "(cd tests/Application && bin/console doctrine:database:create)"
- name: "Create database schema"
run: "(cd tests/Application && bin/console doctrine:schema:create)"
- name: "Validate Doctrine mapping"
run: "(cd tests/Application && bin/console doctrine:schema:validate)"
- name: "Load fixtures for functional tests"
run: "(cd tests/Application && bin/console sylius:fixtures:load --no-interaction)"
- name: "Run phpunit"
run: "composer functional-tests"
mutation-tests:
name: "Mutation tests"
runs-on: "ubuntu-latest"
strategy:
matrix:
php-version:
- "8.2"
dependencies:
- "highest"
steps:
- name: "Start MySQL"
run: "sudo /etc/init.d/mysql start"
- name: "Checkout"
uses: "actions/checkout@v4"
- name: "Setup PHP, with composer and extensions"
uses: "shivammathur/setup-php@v2"
with:
coverage: "pcov"
extensions: "${{ env.PHP_EXTENSIONS }}"
php-version: "${{ matrix.php-version }}"
- name: "Install composer dependencies"
uses: "ramsey/composer-install@v3"
with:
dependency-versions: "${{ matrix.dependencies }}"
- name: "Create database"
run: "(cd tests/Application && bin/console doctrine:database:create)"
- name: "Create database schema"
run: "(cd tests/Application && bin/console doctrine:schema:create)"
- name: "Load fixtures for functional tests"
run: "(cd tests/Application && bin/console sylius:fixtures:load --no-interaction)"
- name: "Run infection"
run: "vendor/bin/infection"
env:
STRYKER_DASHBOARD_API_KEY: "${{ secrets.STRYKER_DASHBOARD_API_KEY }}"
code-coverage:
name: "Code Coverage (PHP${{ matrix.php-version }} | Deps: ${{ matrix.dependencies }})"
runs-on: "ubuntu-latest"
strategy:
matrix:
php-version:
- "8.2"
dependencies:
- "highest"
steps:
- name: "Start MySQL"
run: "sudo /etc/init.d/mysql start"
- name: "Checkout"
uses: "actions/checkout@v4"
- name: "Setup PHP, with composer and extensions"
uses: "shivammathur/setup-php@v2"
with:
coverage: "pcov"
extensions: "${{ env.PHP_EXTENSIONS }}"
php-version: "${{ matrix.php-version }}"
- name: "Install composer dependencies"
uses: "ramsey/composer-install@v3"
with:
dependency-versions: "${{ matrix.dependencies }}"
- name: "Create database"
run: "(cd tests/Application && bin/console doctrine:database:create)"
- name: "Create database schema"
run: "(cd tests/Application && bin/console doctrine:schema:create)"
- name: "Load fixtures for functional tests"
run: "(cd tests/Application && bin/console sylius:fixtures:load --no-interaction)"
- name: "Collect code coverage with pcov and phpunit/phpunit"
run: "vendor/bin/phpunit --coverage-clover=.build/logs/clover.xml"
- name: "Send code coverage report to Codecov.io"
uses: "codecov/codecov-action@v4"
with:
token: "${{ secrets.CODECOV_TOKEN }}"