Skip to content

[ci] handle postgres 16 recipe support in .env #3061

[ci] handle postgres 16 recipe support in .env

[ci] handle postgres 16 recipe support in .env #3061

Workflow file for this run

name: "CI"
on:
pull_request:
push:
branches:
- 'main'
schedule:
- cron: '0 0 * * *'
env:
PHPUNIT_FLAGS: "-v"
SYMFONY_PHPUNIT_DIR: "$HOME/symfony-bridge/.phpunit"
jobs:
coding-standards:
name: "Coding Standards (${{ matrix.php-version }})"
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
php-version:
- '8.1'
steps:
-
name: "Checkout code"
uses: "actions/checkout@v3"
-
name: "Install PHP"
uses: "shivammathur/setup-php@v2"
with:
coverage: "none"
php-version: "${{ matrix.php-version }}"
-
name: "Validate composer.json"
run: "composer validate --strict --no-check-lock"
-
name: "Composer install"
uses: "ramsey/composer-install@v2"
with:
composer-options: "--no-scripts"
-
name: "Composer install php-cs-fixer"
uses: "ramsey/composer-install@v2"
with:
composer-options: "--no-scripts --working-dir=tools/php-cs-fixer"
-
name: "Run friendsofphp/php-cs-fixer"
run: "tools/php-cs-fixer/vendor/bin/php-cs-fixer fix --dry-run --diff"
test:
name: "PHP ${{ matrix.php-version }} + @${{ matrix.symfony-version }} ${{ matrix.dependency-versions }} deps"
runs-on: ubuntu-latest
services:
mysql:
image: mysql:5.7 # Update server_version in phpunit.xml.dist if this changes.
env:
MYSQL_ROOT_PASSWORD: root
MYSQL_DATABASE: test_maker
ports:
- 3306
options: --health-cmd="mysqladmin ping" --health-interval=10s --health-timeout=5s --health-retries=3
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.3.x-dev'
- '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.3.*'
dependency-versions: 'lowest'
# testing lowest PHP+dependencies with highest Symfony
- php-version: '8.1'
symfony-version: '6.3.*'
dependency-versions: 'highest'
steps:
- name: "Checkout code"
uses: actions/checkout@v3
- name: "Start MySQL"
run: |
sudo /etc/init.d/mysql start
- name: "Verify MySQL connection from host"
run: |
mysql --host 127.0.0.1 --port 3306 -uroot -proot -e "SHOW DATABASES;"
- name: "Setup Database"
run: |
mysql --host 127.0.0.1 --port 3306 -uroot -proot -e "CREATE DATABASE IF NOT EXISTS test_maker;"
- name: "Install PHP with extensions"
uses: shivammathur/setup-php@v2
with:
coverage: "none"
php-version: ${{ matrix.php-version }}
tools: composer:v2
- 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: 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 }}