Skip to content

Move all jobs to ci.yaml + streamline #558

Move all jobs to ci.yaml + streamline

Move all jobs to ci.yaml + streamline #558

Workflow file for this run

name: CI
on:
pull_request: ~
push:
branches:
- master
jobs:
test:
name: Test
runs-on: ubuntu-latest
steps:
- name: Set up PHP
uses: shivammathur/[email protected]
with:
php-version: 8.2
coverage: none
- name: Checkout code
uses: actions/checkout@v4
- name: Get composer cache directory
id: composer-cache
run: echo "::set-output name=dir::$(composer config cache-files-dir)"
- name: Cache dependencies
uses: actions/cache@v2
with:
path: ${{ steps.composer-cache.outputs.dir }}
key: composer-${{ runner.os }}-8.1-${{ hashFiles('composer.*') }}
restore-keys: |
composer-${{ runner.os }}-8.1-
composer-${{ runner.os }}-
composer-
- name: Docker
run: docker compose up -d
- name: Download dependencies
run: composer install --no-interaction --optimize-autoloader
- name: Setup database
run: bin/console doctrine:schema:create
- name: Run tests
run: ./vendor/bin/phpunit
- name: Upload log file
if: ${{ failure() }}
uses: actions/upload-artifact@v4
with:
name: test.log
path: var/log/test.log
retention-days: 5
phpstan:
name: PHPStan
runs-on: ubuntu-latest
steps:
- name: Setup PHP
uses: shivammathur/setup-php@v2
with:
php-version: 8.2
coverage: none
tools: phpstan:1.10, cs2pr
- name: Checkout code
uses: actions/checkout@v4
- name: Download dependencies
uses: ramsey/composer-install@v3
- name: PHPStan
run: phpstan analyze --no-progress --error-format=checkstyle | cs2pr
php-cs-fixer:
name: PHP-CS-Fixer
runs-on: ubuntu-latest
steps:
- name: Setup PHP
uses: shivammathur/setup-php@v2
with:
php-version: 8.2
coverage: none
tools: php-cs-fixer:3.42, cs2pr
- name: Checkout code
uses: actions/checkout@v4
- name: PHP-CS-Fixer
run: php-cs-fixer fix --dry-run --format=checkstyle | cs2pr
psalm:
name: Psalm
runs-on: ubuntu-latest
steps:
- name: Setup PHP
uses: shivammathur/setup-php@v2
with:
php-version: 8.2
coverage: none
tools: vimeo/psalm:5.18.0
- name: Checkout code
uses: actions/checkout@v4
- name: Download dependencies
uses: ramsey/composer-install@v3
- name: Psalm
run: psalm --no-progress --output-format=github