Skip to content

Clean up the app

Clean up the app #701

Workflow file for this run

name: 'CI'
on:
pull_request:
push:
jobs:
coding-standards:
name: 'Coding Standards - PHP ${{ matrix.php-version }}'
runs-on: 'ubuntu-latest'
# We want to run on external PRs, but not on our own internal PRs as they'll be run by the push to the branch.
if: ${{ !(github.event_name == 'pull_request' && github.event.pull_request.head.repo.full_name == github.repository) }}
strategy:
fail-fast: false
matrix:
php-version:
- '8.2'
steps:
- name: 'Checkout code'
uses: actions/checkout@v3
- name: 'Setup Build'
uses: ./.github/actions/setup-build
with:
php-version: '${{ matrix.php-version }}'
composer-token: ${{ secrets.GITHUB_TOKEN }}
- name: "PHP Coding Standards Fixer"
run: php-cs-fixer fix --dry-run --diff --using-cache=no
- name: "PHP Code Style Sniffer"
if: always()
run: vendor/bin/phpcs
- name: "Psalm"
if: always()
run: vendor/bin/psalm
unit-tests:
name: "Unit Tests - PHP ${{ matrix.php-version }}, Sf ${{ matrix.symfony-version }}${{ matrix.dependency-versions && format(', Deps: {0}', matrix.dependency-versions) }}"
runs-on: ubuntu-latest
# We want to run on external PRs, but not on our own internal PRs as they'll be run by the push to the branch.
if: ${{ !(github.event_name == 'pull_request' && github.event.pull_request.head.repo.full_name == github.repository) }}
strategy:
fail-fast: false
matrix:
include:
# # Lowest possible configuration
# - php-version: '8.2'
# dependency-versions: 'lowest'
# symfony-version: '6.4.*'
#
# # Test against Symfony 6.4
# - php-version: '8.3'
# symfony-version: '6.4.*'
#
# # Test against Symfony 7.*
# - php-version: '8.3'
# symfony-version: '7.*'
# Lowest possible configuration (temporary)
- php-version: '8.2'
dependency-versions: 'lowest'
symfony-version: '6.4.*'
composer-allow-dev: true
# Test against Symfony 6.4 (temporary)
- php-version: '8.2'
symfony-version: '6.4.*'
composer-allow-dev: true
# Test against Symfony 7 (temporary)
- php-version: '8.2'
composer-require: 'symfony/console:"v7.0.0-RC1 as 6.4.0" symfony/filesystem:"v7.0.0-RC1 as 6.4.0"' # Compatibility with Psalm
symfony-version: '7.*'
composer-allow-dev: true
steps:
- name: 'Checkout code'
uses: actions/checkout@v3
- name: 'Setup Build'
uses: ./.github/actions/setup-build
with:
php-version: '${{ matrix.php-version }}'
composer-token: ${{ secrets.GITHUB_TOKEN }}
composer-dependency-versions: '${{ matrix.dependency-versions }}'
composer-require: '${{ matrix.composer-require }}'
symfony-version: '${{ matrix.symfony-version }}'
- name: 'Run tests'
run: vendor/bin/phpunit
integration-tests:
name: 'Integration Tests - PHP ${{ matrix.php-version }}, Sf ${{ matrix.symfony-version }}'
runs-on: ubuntu-latest
# We want to run on external PRs, but not on our own internal PRs as they'll be run by the push to the branch.
if: ${{ !(github.event_name == 'pull_request' && github.event.pull_request.head.repo.full_name == github.repository) }}
strategy:
fail-fast: false
matrix:
include:
# # Minimum PHP version
# - php-version: '8.3'
# symfony-version: '6.4.*'
#
# # Test against Symfony 7.*
# - php-version: '8.3'
# symfony-version: '7.*'
# Test against Symfony 6.4 (temporary)
- php-version: '8.2'
symfony-version: '6.4.*'
composer-require: 'symfony/framework-bundle:"6.4.x-dev as 6.4.0"' # virtual request stack fix
composer-allow-dev: true
# Test against Symfony 7 (temporary)
- php-version: '8.2'
symfony-version: '7.*'
composer-require: 'symfony/framework-bundle:"7.0.x-dev as 7.0.0"' # virtual request stack fix
composer-allow-dev: true
# Test against Symfony 6.4 + PHP 8.3 (temporary)
- php-version: '8.3'
symfony-version: '6.4.*'
composer-require: 'symfony/framework-bundle:"6.4.x-dev as 6.4.0"' # virtual request stack fix
composer-allow-dev: true
# Test against Symfony 7 + PHP 8.3 (temporary)
- php-version: '8.3'
symfony-version: '7.*'
composer-require: 'symfony/framework-bundle:"7.0.x-dev as 7.0.0"' # virtual request stack fix
composer-allow-dev: true
steps:
- name: 'Checkout code'
uses: actions/checkout@v3
- name: 'Setup Build'
uses: ./.github/actions/setup-build
with:
php-version: '${{ matrix.php-version }}'
composer-token: ${{ secrets.GITHUB_TOKEN }}
composer-working-dir: app
composer-require: '${{ matrix.composer-require }}'
symfony-version: '${{ matrix.symfony-version }}'
- name: 'Run tests'
run: app/vendor/bin/phpunit -c app
code-coverage:
name: 'Code Coverage - PHP ${{ matrix.php-version }}'
runs-on: 'ubuntu-latest'
# We want to run on external PRs, but not on our own internal PRs as they'll be run by the push to the branch.
if: ${{ !(github.event_name == 'pull_request' && github.event.pull_request.head.repo.full_name == github.repository) }}
strategy:
fail-fast: false
matrix:
php-version:
- '8.2'
steps:
- name: 'Checkout code'
uses: actions/checkout@v3
- name: 'Setup Build'
uses: ./.github/actions/setup-build
with:
php-version: '${{ matrix.php-version }}'
php-coverage: 'pcov'
composer-token: ${{ secrets.GITHUB_TOKEN }}
- name: 'Run tests with coverage'
run: vendor/bin/phpunit --coverage-clover coverage/clover.xml
- name: 'Send Coverage to Codecov'
uses: codecov/codecov-action@v3
with:
token: ${{ secrets.CODECOV_TOKEN }}
files: coverage/clover.xml
flags: unittests
fail_ci_if_error: true