Skip to content

Feature/2891 upgrades #261

Feature/2891 upgrades

Feature/2891 upgrades #261

Workflow file for this run

on:
pull_request:
paths:
- '**.php'
- '**.yaml'
- 'composer.json'
- 'composer.lock'
- '!engine/**'
- '!.github/workflows/pr-js.yaml'
name: Review PHP
jobs:
php-test-composer-install:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
php: ['8.3']
name: Validate composer (${{ matrix.php}})
steps:
- uses: actions/checkout@v3
- name: Setup PHP, with composer and extensions
uses: shivammathur/setup-php@v2
with:
php-version: ${{ matrix.php}}
extensions: apcu, ctype, iconv, json, redis, xmlreader, zip
coverage: none
- 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: ${{ runner.os }}-composer-${{ hashFiles('**/composer.lock') }}
restore-keys: ${{ runner.os }}-composer-
- name: Validate composer files
run: composer validate composer.json --strict
- name: Composer install with exported .env variables
run: |
set -a && source .env && set +a
APP_ENV=prod composer install --no-dev -o
phpcsfixer:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
php: ['8.3']
name: Coding style fixer (${{ matrix.php }})
steps:
- uses: actions/checkout@v3
- name: Setup PHP, with composer and extensions
uses: shivammathur/setup-php@v2
with:
php-version: ${{ matrix.php }}
extensions: apcu, ctype, iconv, json, redis, xmlreader, zip
coverage: none
- 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: ${{ runner.os }}-composer-${{ hashFiles('**/composer.lock') }}
restore-keys: ${{ runner.os }}-composer-
- name: Install Dependencies
run: composer install -q --no-ansi --no-interaction --no-scripts --no-suggest --no-progress --prefer-dist
- name: php-cs-fixer
run: composer coding-standards-check
doctrine:
runs-on: ubuntu-latest
services:
mariadb:
image: mariadb:10.3
ports:
- 3306
env:
MYSQL_USER: db
MYSQL_PASSWORD: db
MYSQL_DATABASE: db
MYSQL_ROOT_PASSWORD: password
options: --health-cmd="mysqladmin ping" --health-interval=5s --health-timeout=2s --health-retries=3
strategy:
fail-fast: false
matrix:
php: ['8.3']
name: Validate database schema (${{ matrix.php }})
steps:
- uses: actions/checkout@v3
- name: Setup PHP, with composer and extensions
uses: shivammathur/setup-php@v2
with:
php-version: ${{ matrix.php }}
extensions: apcu, ctype, iconv, json, redis, xmlreader, zip
coverage: none
- 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: ${{ runner.os }}-composer-${{ hashFiles('**/composer.lock') }}
restore-keys: ${{ runner.os }}-composer-
- name: Install Dependencies
run: composer install -q --no-ansi --no-interaction --no-scripts --no-suggest --no-progress --prefer-dist
- name: Verify MariaDB connection
env:
MARIA_DB_PORT: ${{ job.services.mariadb.ports[3306] }}
run: |
while ! mysqladmin ping -h"127.0.0.1" -P"$MARIA_DB_PORT" --silent; do
sleep 1
done
- name: Run Doctrine Migrations
env:
MARIA_DB_PORT: ${{ job.services.mariadb.ports[3306] }}
run: DATABASE_URL=mysql://db:[email protected]:$MARIA_DB_PORT/db php bin/console doctrine:migrations:migrate --no-interaction
- name: Validate DB schema
env:
MARIA_DB_PORT: ${{ job.services.mariadb.ports[3306] }}
run: DATABASE_URL=mysql://db:[email protected]:$MARIA_DB_PORT/db php bin/console doctrine:schema:validate
- name: Validate DB fixtures
env:
MARIA_DB_PORT: ${{ job.services.mariadb.ports[3306] }}
run: DATABASE_URL=mysql://db:[email protected]:$MARIA_DB_PORT/db php bin/console doctrine:fixtures:load --no-interaction