Skip to content

CI Linux

CI Linux #495

Workflow file for this run

name: "CI Linux"
on:
pull_request:
push:
branches:
- 'main'
schedule:
- cron: '0 0 * * *'
env:
PHPUNIT_FLAGS: "-v"
SYMFONY_PHPUNIT_DIR: "$HOME/symfony-bridge/.phpunit"
jobs:
test:
name: "PHP ${{ matrix.php-version }} + @${{ matrix.symfony-version }} ${{ matrix.dependency-versions }} deps"
runs-on: ubuntu-latest
services:
mercure:
image: dunglas/mercure
env:
SERVER_NAME: :1337
MERCURE_PUBLISHER_JWT_KEY: '!ChangeThisMercureHubJWTSecretKey!'
MERCURE_SUBSCRIBER_JWT_KEY: '!ChangeThisMercureHubJWTSecretKey!'
MERCURE_EXTRA_DIRECTIVES: |
anonymous
cors_origins *
ports:
- 1337:1337
env:
SYMFONY_VERSION: ${{ matrix.symfony-version }}
MAKER_ALLOW_DEV_DEPS_IN_APP: ${{ matrix.allow-dev-deps-in-apps }}
strategy:
fail-fast: false
matrix:
php-version:
- '8.2'
symfony-version:
- '6.4.x-dev'
- '7.0.x-dev'
dependency-versions: ['highest']
allow-dev-deps-in-apps: ['0']
include:
# testing lowest PHP+dependencies with lowest Symfony
- php-version: '8.1'
symfony-version: '6.4.*'
dependency-versions: 'lowest'
# testing lowest PHP+dependencies with highest Symfony
- php-version: '8.1'
symfony-version: '6.4.*'
dependency-versions: 'highest'
steps:
- name: Checkout code
uses: actions/checkout@v3
- name: Install PHP with extensions
uses: shivammathur/setup-php@v2
with:
coverage: "none"
php-version: ${{ matrix.php-version }}
- name: Add PHPUnit matcher
run: echo "::add-matcher::${{ runner.tool_cache }}/phpunit.json"
- name: Composer install
uses: "ramsey/composer-install@v2"
with:
dependency-versions: "${{ matrix.dependency-versions }}"
- name: Composer install php-cs-fixer
uses: "ramsey/composer-install@v2"
with:
composer-options: "--no-scripts --working-dir=tools/php-cs-fixer"
- name: Composer install twigcs
uses: "ramsey/composer-install@v2"
with:
composer-options: "--no-scripts --working-dir=tools/twigcs"
- name: Install PHPUnit
run: |
if [[ ${{ matrix.dependency_versions == 'lowest' }} ]]; then
echo "SYMFONY_PHPUNIT_REQUIRE=nikic/php-parser:^4.18" >> $GITHUB_ENV
fi
vendor/bin/simple-phpunit install
- name: PHPUnit version
run: vendor/bin/simple-phpunit --version
- name: Run tests
run: vendor/bin/simple-phpunit ${{ env.PHPUNIT_FLAGS }}