fix ci regression and add caching #426
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: CI | |
on: | |
push: | |
branches: | |
- "*.x" | |
pull_request: | |
env: | |
DEPENDENCIES: 'toflar/psr6-symfony-http-cache-store:^2|^3|^4' | |
SYMFONY_DEPRECATIONS_HELPER: 'max[self]=0' | |
jobs: | |
latest: | |
env: | |
VARNISH_VERSION: ${{ matrix.varnish-version }} | |
VARNISH_MODULES_VERSION: ${{ matrix.varnish-modules-version }} | |
name: PHP ${{ matrix.php }} Varnish ${{ matrix.varnish-version }} SF ${{ matrix.symfony-version }} | |
runs-on: ubuntu-20.04 | |
strategy: | |
fail-fast: false | |
matrix: | |
varnish-version: ['6.6'] | |
varnish-modules-version: ['0.18.0'] | |
php: ['8.1', '8.2', '8.3'] | |
include: | |
- php: '8.1' | |
symfony-version: '6.*' | |
- php: '8.1' | |
varnish-version: '7.1' | |
varnish-modules-version: '0.20.0' | |
- php: '8.2' | |
symfony-version: '7.*' | |
- php: '8.2' | |
varnish-version: '7.1' | |
varnish-modules-version: '0.20.0' | |
- php: '8.3' | |
symfony-version: '7.*' | |
- php: '8.3' | |
varnish-version: '7.1' | |
varnish-modules-version: '0.20.0' | |
steps: | |
- name: Setup PHP | |
uses: shivammathur/setup-php@v2 | |
with: | |
php-version: ${{ matrix.php }} | |
tools: composer:v2, flex | |
coverage: none | |
- name: Checkout code | |
uses: actions/checkout@v2 | |
- name: Setup Varnish and Nginx | |
run: | | |
sh ${GITHUB_WORKSPACE}/.github/workflows/setup-varnish.sh | |
sh ${GITHUB_WORKSPACE}/.github/workflows/setup-nginx.sh | |
- name: Install composer dependencies | |
env: | |
SYMFONY_REQUIRE: ${{ matrix.symfony-version }} | |
run: | | |
composer require --no-update ${DEPENDENCIES} | |
composer update --prefer-dist --no-interaction --no-progress | |
- name: Execute tests | |
run: vendor/bin/phpunit | |
varnish5: | |
name: PHP ${{ matrix.php }} Legacy Varnish 5 | |
runs-on: ubuntu-20.04 | |
env: | |
VARNISH_VERSION: '5.1' | |
VARNISH_MODULES_VERSION: '0.14.0' | |
strategy: | |
fail-fast: false | |
matrix: | |
include: | |
- php: '8.1' | |
steps: | |
- name: Setup PHP | |
uses: shivammathur/setup-php@v2 | |
with: | |
php-version: ${{ matrix.php }} | |
tools: composer:v2 | |
coverage: none | |
- name: Checkout code | |
uses: actions/checkout@v2 | |
- name: Setup Varnish and Nginx | |
run: | | |
sh ${GITHUB_WORKSPACE}/.github/workflows/setup-varnish-legacy.sh | |
sh ${GITHUB_WORKSPACE}/.github/workflows/setup-nginx.sh | |
- name: Install composer dependencies | |
# Lowest discovery can end up with an incompatible psr7 implementation, see discussion in https://github.com/FriendsOfSymfony/FOSHttpCache/pull/567 | |
run: | | |
composer require --no-update --no-interaction "guzzlehttp/psr7:2.*" | |
composer update --prefer-dist --prefer-stable --prefer-lowest --no-interaction --no-progress | |
- name: Execute tests | |
run: vendor/bin/phpunit | |
varnish4: | |
name: PHP ${{ matrix.php }} Legacy Varnish 4 | |
runs-on: ubuntu-20.04 | |
env: | |
VARNISH_VERSION: '4.1' | |
VARNISH_MODULES_VERSION: '' # varnish modules compilation fails, not sure why | |
strategy: | |
fail-fast: false | |
matrix: | |
include: | |
- php: '8.1' | |
steps: | |
- name: Setup PHP | |
uses: shivammathur/setup-php@v2 | |
with: | |
php-version: ${{ matrix.php }} | |
tools: composer:v2 | |
coverage: none | |
- name: Checkout code | |
uses: actions/checkout@v2 | |
- name: Setup Varnish and Nginx | |
run: | | |
sh ${GITHUB_WORKSPACE}/.github/workflows/setup-varnish-legacy.sh | |
sh ${GITHUB_WORKSPACE}/.github/workflows/setup-nginx.sh | |
- name: Install composer dependencies | |
run: | | |
composer require --no-update --no-interaction "guzzlehttp/psr7:2.*" | |
composer update --prefer-dist --prefer-stable --prefer-lowest --no-interaction --no-progress | |
- name: Execute tests | |
run: vendor/bin/phpunit | |
lowest: | |
name: PHP ${{ matrix.php }} Lowest, Varnish 3 | |
runs-on: ubuntu-20.04 | |
env: | |
VARNISH_VERSION: '3.0' | |
VARNISH_MODULES_VERSION: '' | |
DEPENDENCIES: '' | |
strategy: | |
fail-fast: false | |
matrix: | |
php: ['8.1'] | |
steps: | |
- name: Setup PHP | |
uses: shivammathur/setup-php@v2 | |
with: | |
php-version: ${{ matrix.php }} | |
tools: composer:v2 | |
coverage: none | |
- name: Checkout code | |
uses: actions/checkout@v2 | |
- name: Setup Varnish and Nginx | |
run: | | |
sh ${GITHUB_WORKSPACE}/.github/workflows/setup-varnish-legacy.sh | |
sh ${GITHUB_WORKSPACE}/.github/workflows/setup-nginx.sh | |
- name: Install composer dependencies | |
run: | | |
composer require --no-update --no-interaction "guzzlehttp/psr7:2.*" | |
composer update --prefer-dist --prefer-stable --prefer-lowest --no-interaction --no-progress | |
- name: Execute tests | |
run: vendor/bin/phpunit | |
coverage: | |
name: Code Coverage | |
runs-on: ubuntu-20.04 | |
env: | |
VARNISH_VERSION: '6.6' | |
VARNISH_MODULES_VERSION: '0.18.0' | |
steps: | |
- name: Setup PHP | |
uses: shivammathur/setup-php@v2 | |
with: | |
php-version: 8.2 | |
tools: composer:v2 | |
coverage: xdebug | |
- name: Checkout code | |
uses: actions/checkout@v2 | |
- name: Setup Varnish and Nginx | |
run: | | |
sh ${GITHUB_WORKSPACE}/.github/workflows/setup-varnish.sh | |
sh ${GITHUB_WORKSPACE}/.github/workflows/setup-nginx.sh | |
- name: Install dependencies | |
run: | | |
composer require "friends-of-phpspec/phpspec-code-coverage:^6.3.0" --no-interaction --no-update | |
composer update --prefer-dist --no-interaction --no-progress | |
- name: Execute tests | |
run: vendor/bin/phpunit --coverage-text --coverage-clover build/coverage.xml |