feat: improve README #243
Workflow file for this run
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: CI | |
on: | |
push: | |
paths-ignore: | |
- 'docker/**' | |
pull_request: | |
paths-ignore: | |
- 'docker/**' | |
env: | |
COMPOSER_ALLOW_SUPERUSER: '1' | |
SYMFONY_DEPRECATIONS_HELPER: max[self]=0 | |
ADMIN_LOGIN: admin | |
ADMIN_PASSWORD: test | |
DATABASE_URL: mysql://user:password@mysql:3306/test_db | |
jobs: | |
analyze: | |
name: Analyze | |
runs-on: ubuntu-latest | |
container: | |
image: php:8.2-alpine | |
options: >- | |
--tmpfs /tmp:exec | |
--tmpfs /var/tmp:exec | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v3 | |
- name: Install GD PHP extension | |
run: | | |
apk add $PHPIZE_DEPS libpng-dev | |
docker-php-ext-configure gd | |
docker-php-ext-install gd | |
- name: Install Composer | |
run: wget -qO - https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer --quiet | |
- name: Cache Composer dependencies | |
uses: actions/cache@v3 | |
with: | |
path: ~/.composer/cache | |
key: composer-php${{ matrix.php }}-highest- | |
restore-keys: | | |
composer-php${{ matrix.php }}-highest- | |
composer- | |
- name: Validate Composer | |
run: composer validate | |
- name: Install highest dependencies with Composer | |
run: composer update --no-progress --ansi | |
- name: Analyze | |
run: PHP_CS_FIXER_IGNORE_ENV=True vendor/bin/php-cs-fixer fix --ansi | |
phpunit: | |
name: PHPUnit (PHP ${{ matrix.php }} Deps ${{ matrix.dependencies }}) | |
runs-on: ubuntu-latest | |
container: | |
image: php:${{ matrix.php }}-alpine | |
options: >- | |
--tmpfs /tmp:exec | |
--tmpfs /var/tmp:exec | |
services: | |
mysql: | |
image: mariadb:10.7 | |
env: | |
MYSQL_DATABASE: test_db | |
MYSQL_USER: user | |
MYSQL_PASSWORD: password | |
MYSQL_ROOT_PASSWORD: root | |
options: >- | |
--health-cmd "mysqladmin ping" | |
--health-interval 10s | |
--health-timeout 5s | |
--health-retries 5 | |
ports: | |
- 3306:3306 | |
strategy: | |
matrix: | |
php: | |
- '8.0' | |
- '8.1' | |
- '8.2' | |
dependencies: | |
- lowest | |
- highest | |
fail-fast: false | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v3 | |
- name: Install MySQL / GD PHP extensions | |
run: | | |
apk add $PHPIZE_DEPS icu-libs icu-dev libpng-dev | |
docker-php-ext-configure intl | |
docker-php-ext-configure gd | |
docker-php-ext-install pdo pdo_mysql intl gd | |
- name: Install Composer | |
run: wget -qO - https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer --quiet | |
- name: Cache Composer dependencies | |
uses: actions/cache@v3 | |
with: | |
path: ~/.composer/cache | |
key: composer-php${{ matrix.php }}-${{ matrix.dependencies }}- | |
restore-keys: | | |
composer-php${{ matrix.php }}-${{ matrix.dependencies }}- | |
composer- | |
- name: Install lowest dependencies with Composer | |
if: matrix.dependencies == 'lowest' | |
run: composer update --no-progress --prefer-stable --prefer-lowest --ansi | |
- name: Install highest dependencies with Composer | |
if: matrix.dependencies == 'highest' | |
run: composer update --no-progress --ansi | |
- name: Migrate database | |
run: bin/console doctrine:schema:update --force --no-interaction | |
- name: Run tests with PHPUnit | |
run: vendor/bin/phpunit --process-isolation --colors=always |