Skip to content

auditor 1.x CI

auditor 1.x CI #609

Workflow file for this run

name: auditor 1.x CI
on:
schedule:
- cron: 30 0 * * *
pull_request:
branches:
- 1.x
push:
branches:
- 1.x
jobs:
tests:
name: Tests PHP ${{ matrix.php }}, Symfony ${{ matrix.symfony }}, ${{ matrix.db }}
runs-on: ubuntu-latest
services:
mysql:
image: mysql:5.7
env:
MYSQL_ALLOW_EMPTY_PASSWORD: yes
MYSQL_DATABASE: auditor
ports:
- 3306:3306
options: >-
--health-cmd="mysqladmin ping"
--health-interval=10s
--health-timeout=5s
--health-retries=3
postgres:
image: postgres
env:
POSTGRES_PASSWORD: password
ports:
- 5432:5432
options: >-
--health-cmd pg_isready
--health-interval 10s
--health-timeout 5s
--health-retries 5
strategy:
matrix:
php:
- '7.2'
- '7.3'
- '7.4'
symfony:
- '3.4.*'
- '4.4.*'
- '5.*'
db:
- 'sqlite'
- 'mysql'
- 'pgsql'
fail-fast: false
steps:
- name: Shutdown Ubuntu MySQL (SUDO)
run: sudo service mysql stop # Shutdown the Default MySQL, "sudo" is necessary, please not remove it
- name: Checkout
uses: actions/checkout@v3
with:
ref: 1.x
- name: Setup PHP
uses: shivammathur/setup-php@v2
with:
php-version: ${{ matrix.php }}
extensions: composer:v2, flex, pcov
coverage: pcov
- name: Configure Symfony
run: |
composer global config --no-plugins allow-plugins.symfony/flex true
composer global require --no-progress --no-scripts --no-plugins symfony/flex
composer config extra.symfony.require "${{ matrix.symfony }}"
- name: Get Composer Cache Directory
id: composer-cache
run: echo "dir=$(composer config cache-files-dir)" >> $GITHUB_OUTPUT
- name: Cache dependencies
uses: actions/cache@v3
with:
path: ${{ steps.composer-cache.outputs.dir }}
key: ${{ matrix.php }}-composer-${{ hashFiles('**/composer.json') }}
restore-keys: ${{ matrix.php }}-composer-
- name: Update project dependencies (3.4.*)
if: matrix.symfony == '3.4.*'
run: SYMFONY_REQUIRE="^3.4" composer update --no-progress --ansi --prefer-stable
- name: Update project dependencies (4.4.*)
if: matrix.symfony == '4.4.*'
run: SYMFONY_REQUIRE="^4.4" composer update --no-progress --ansi --prefer-stable
- name: Update project dependencies (5.*)
if: matrix.symfony == '5.*'
run: composer update --no-progress --ansi --prefer-stable
- name: Validate composer
run: composer validate --strict --no-check-lock
- name: Run tests
run: vendor/bin/phpunit -c phpunit.${{ matrix.db }}.xml
tests-symfony-next:
name: Tests PHP ${{ matrix.php }}, Symfony ${{ matrix.symfony }}, ${{ matrix.db }}
runs-on: ubuntu-latest
services:
mysql:
image: mysql:5.7
env:
MYSQL_ALLOW_EMPTY_PASSWORD: yes
MYSQL_DATABASE: auditor
ports:
- 3306:3306
options: >-
--health-cmd="mysqladmin ping"
--health-interval=10s
--health-timeout=5s
--health-retries=3
postgres:
image: postgres
env:
POSTGRES_PASSWORD: password
ports:
- 5432:5432
options: >-
--health-cmd pg_isready
--health-interval 10s
--health-timeout 5s
--health-retries 5
strategy:
matrix:
php:
- '8.0'
symfony:
- '5.*'
db:
- 'sqlite'
- 'mysql'
- 'pgsql'
fail-fast: false
steps:
- name: Shutdown Ubuntu MySQL (SUDO)
run: sudo service mysql stop # Shutdown the Default MySQL, "sudo" is necessary, please not remove it
- name: Checkout
uses: actions/checkout@v3
with:
ref: 1.x
- name: Setup PHP
uses: shivammathur/setup-php@v2
with:
php-version: ${{ matrix.php }}
extensions: composer:v2, flex, pcov
coverage: pcov
- name: Configure Symfony
run: |
composer global config --no-plugins allow-plugins.symfony/flex true
composer global require --no-progress --no-scripts --no-plugins symfony/flex
composer config extra.symfony.require "${{ matrix.symfony }}"
- name: Get Composer Cache Directory
id: composer-cache
run: echo "dir=$(composer config cache-files-dir)" >> $GITHUB_OUTPUT
- name: Cache dependencies
uses: actions/cache@v3
with:
path: ${{ steps.composer-cache.outputs.dir }}
key: ${{ matrix.php }}-composer-${{ hashFiles('**/composer.json') }}
restore-keys: ${{ matrix.php }}-composer-
- name: Update project dependencies (5.*)
if: matrix.symfony == '5.*'
run: composer update --no-progress --ansi --prefer-stable
- name: Validate composer
run: composer validate --strict --no-check-lock
- name: Run tests
run: vendor/bin/phpunit -c phpunit.${{ matrix.db }}.xml