Skip to content

CI (optional checks) #13723

CI (optional checks)

CI (optional checks) #13723

name: CI (optional checks)
on:
push:
branches-ignore:
- gh-readonly-queue/**
pull_request:
merge_group:
workflow_dispatch:
concurrency:
group: ${{ github.workflow }}-${{ github.event_name }}-${{ github.ref_name }}
cancel-in-progress: true
jobs:
api-validate-composer-lock:
name: 'Validate Api Platform composer.lock'
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@a5ac7e51b41094c92402da3b24376905380afc29 # v4
- uses: shivammathur/setup-php@v2
with:
php-version: '8.3.7'
tools: composer:2.7.0
coverage: xdebug
- run: composer validate -n --no-check-all --no-check-publish --strict
working-directory: api
api-psalm:
name: 'Lint: API (psalm)'
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@a5ac7e51b41094c92402da3b24376905380afc29 # v4
- uses: shivammathur/setup-php@v2
with:
php-version: '8.3.7'
tools: composer:2.7.0
coverage: xdebug
- name: Get Composer Cache Directory
id: composer-cache
run: 'echo "dir=$(composer config cache-files-dir)" | tr -d "\n" >> $GITHUB_OUTPUT'
working-directory: api
- uses: actions/cache@0c45773b623bea8c8e75f6c82b208c3cf94ea4f9 # v4
with:
path: ${{ steps.composer-cache.outputs.dir }}
key: ${{ runner.os }}-composer-${{ hashFiles('**/composer.lock') }}
restore-keys: |
${{ runner.os }}-composer-
- run: composer install --no-interaction --no-plugins --no-scripts --prefer-dist
working-directory: api
- run: composer psalm
working-directory: api
api-phpstan:
name: 'Lint: API (phpstan)'
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@a5ac7e51b41094c92402da3b24376905380afc29 # v4
- uses: shivammathur/setup-php@v2
with:
php-version: '8.3.7'
tools: composer:2.7.0
coverage: xdebug
- name: Get Composer Cache Directory
id: composer-cache
run: 'echo "dir=$(composer config cache-files-dir)" | tr -d "\n" >> $GITHUB_OUTPUT'
working-directory: api
- uses: actions/cache@0c45773b623bea8c8e75f6c82b208c3cf94ea4f9 # v4
with:
path: ${{ steps.composer-cache.outputs.dir }}
key: ${{ runner.os }}-composer-${{ hashFiles('**/composer.lock') }}
restore-keys: |
${{ runner.os }}-composer-
- run: composer install --no-interaction --no-plugins --no-scripts --prefer-dist
working-directory: api
- run: composer phpstan
working-directory: api
api-validate-migrations:
name: 'API: validate migrations'
runs-on: ubuntu-latest
env:
TEST_DATABASE_URL: postgresql://ecamp3:ecamp3@localhost:5432/ecamp3test?serverVersion=15&charset=utf8
services:
postgres:
image: 'postgres:15-alpine'
env:
POSTGRES_DB: 'ecamp3test'
POSTGRES_PASSWORD: 'ecamp3'
POSTGRES_USER: 'ecamp3'
ports:
- '5432:5432'
options: >-
--health-cmd pg_isready
--health-interval 10s
--health-timeout 5s
--health-retries 5
steps:
- uses: actions/checkout@a5ac7e51b41094c92402da3b24376905380afc29 # v4
- uses: shivammathur/setup-php@v2
with:
php-version: '8.3.7'
tools: composer:2.7.0
coverage: xdebug
- name: Get Composer Cache Directory
id: composer-cache
run: 'echo "dir=$(composer config cache-files-dir)" | tr -d "\n" >> $GITHUB_OUTPUT'
working-directory: api
- uses: actions/cache@0c45773b623bea8c8e75f6c82b208c3cf94ea4f9 # v4
with:
path: ${{ steps.composer-cache.outputs.dir }}
key: ${{ runner.os }}-composer-${{ hashFiles('**/composer.lock') }}
restore-keys: |
${{ runner.os }}-composer-
- run: composer install --prefer-dist --no-progress --no-interaction
working-directory: api
- run: php bin/console doctrine:migrations:migrate --no-interaction -e test
working-directory: api
- run: php bin/console doctrine:schema:validate -v -e test
working-directory: api