ci: use castor #69
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Symfony | |
on: | |
push: | |
branches: [ "main" ] | |
pull_request: | |
branches: [ "main" ] | |
permissions: | |
contents: read | |
env: | |
XDEBUG_MODE: coverage | |
jobs: | |
# run tests (critical) | |
symfony-tests: | |
runs-on: ubuntu-latest | |
# Setup | |
steps: | |
- uses: shivammathur/setup-php@v2 | |
with: | |
php-version: '8.1' | |
coverage: xdebug | |
tools: castor | |
- uses: actions/checkout@v3 | |
- name: Get Composer Cache Directory | |
id: composer-cache | |
run: | | |
echo "dir=$(composer config cache-files-dir)" >> $GITHUB_OUTPUT | |
- uses: actions/cache@v3 | |
with: | |
path: vendor | |
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-progress --prefer-dist | |
# Tests | |
- name: Execute tests via PHPUnit | |
run: castor test:all | |
# Code coverage | |
- name: Generate the code coverage report and show the current global coverage | |
run: | | |
php -d xdebug.enable=1 -d memory_limit=-1 vendor/bin/simple-phpunit --coverage-html=var/coverage | |
php bin/coverage-checker.php var/coverage/clover.xml 100 | |
# run all lint/CS checks (non critical) | |
symfony-lint: | |
runs-on: ubuntu-latest | |
steps: | |
# Setup | |
- uses: shivammathur/setup-php@v2 | |
with: | |
php-version: '8.1' | |
tools: cs2pr, castor | |
- uses: actions/checkout@v3 | |
- name: Get Composer Cache Directory | |
id: composer-cache | |
run: | | |
echo "dir=$(composer config cache-files-dir)" >> $GITHUB_OUTPUT | |
- uses: actions/cache@v3 | |
with: | |
path: vendor | |
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-progress --prefer-dist | |
# native Symfony lints | |
- name: Lint the DI container | |
run: castor lint:container | |
- name: Lint Twig templates | |
run: castor lint:twig | |
- name: Lint Yaml files | |
run: castor lint:yaml | |
# vendors | |
- name: php-cs-fixer | |
run: vendor/bin/php-cs-fixer fix --allow-risky=yes --dry-run --format=checkstyle | cs2pr | |
- name: PHPStan | |
run: | | |
bin/console about --env=dev | |
castor cs:stan |