Skip to content

Set custom namespace for Maker bundle #47

Set custom namespace for Maker bundle

Set custom namespace for Maker bundle #47

Workflow file for this run

name: Run tests
on:
pull_request:
push:
env:
fail-fast: true
GITHUB_TOKEN: ${{ github.token }}
PHPUNIT_FLAGS: ""
permissions:
contents: read
jobs:
phpunit:
name: "PHPUnit (PHP ${{ matrix.php-version }})"
runs-on: ubuntu-latest
continue-on-error: false
services:
database:
image: postgres:16-alpine
ports:
- "5432:5432"
env:
POSTGRES_DB: dirigent_test
POSTGRES_PASSWORD: "!ChangeMe!"
POSTGRES_USER: dirigent
strategy:
matrix:
php-version: ["8.2", "8.3", "8.4"]
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Install PHP with extensions
uses: shivammathur/setup-php@v2
with:
coverage: none
extensions: intl, mbstring, zip
php-version: ${{ matrix.php-version }}
tools: composer:v2
- name: Add PHPUnit matcher
run: echo "::add-matcher::${{ runner.tool_cache }}/phpunit.json"
- name: Set Composer cache directory
id: composer-cache
run: echo "dir=$(composer config cache-files-dir)" >> $GITHUB_OUTPUT
shell: bash
- name: Cache Composer output
uses: actions/cache@v4
with:
path: ${{ steps.composer-cache.outputs.dir }}
key: ${{ runner.os }}-composer-${{ hashFiles('composer.lock') }}
restore-keys: ${{ runner.os }}-composer-
- name: Install Composer dependencies
run: composer install --ansi --no-interaction --no-progress
- name: Install Node.js
uses: actions/setup-node@v4
- name: Install Node dependencies
run: npm ci
- name: Build assets
run: npm run build
- name: Create database schema
run: bin/console --env=test doctrine:schema:create
- name: Load database fixtures
run: bin/console --env=test doctrine:fixtures:load --no-interaction
- name: PHPUnit version
run: bin/phpunit --version
- name: Run tests
run: bin/phpunit ${{ env.PHPUNIT_FLAGS }}
database:
name: Validate database components
runs-on: ubuntu-latest
services:
database:
image: postgres:16-alpine
ports:
- "5432:5432"
env:
POSTGRES_DB: dirigent
POSTGRES_PASSWORD: "!ChangeMe!"
POSTGRES_USER: dirigent
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Install PHP with extensions
uses: shivammathur/setup-php@v2
with:
coverage: none
extensions: intl
php-version: 8.2
tools: composer:v2
- name: Set Composer cache directory
id: composer-cache
run: echo "dir=$(composer config cache-files-dir)" >> $GITHUB_OUTPUT
- name: Cache Composer output
uses: actions/cache@v4
with:
path: ${{ steps.composer-cache.outputs.dir }}
key: ${{ runner.os }}-composer-${{ hashFiles('composer.lock') }}
restore-keys: ${{ runner.os }}-composer-
- name: Install dependencies
id: install
run: composer install --ansi --no-interaction --no-progress
- name: Validate mapping
run: bin/console doctrine:schema:validate --skip-sync --no-interaction -vvv
- name: Execute migrations
run: bin/console doctrine:migrations:migrate --no-interaction -v
- name: Validate schema
run: bin/console doctrine:schema:validate --skip-mapping --skip-property-types --no-interaction -vvv
- name: Load fixtures
run: bin/console doctrine:fixtures:load --no-interaction -vvv