Ease local testing #1432
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
on: | |
pull_request: | |
paths: | |
- 'src/**' | |
- '.github/workflows/mutation.yml' | |
- 'composer.json' | |
push: | |
branches: ['master'] | |
paths: | |
- 'src/**' | |
- '.github/workflows/mutation.yml' | |
- 'composer.json' | |
name: mutation test | |
jobs: | |
mutation: | |
name: PHP ${{ matrix.php }}-${{ matrix.os }} | |
env: | |
COMPOSER_ROOT_VERSION: 1.0.0 | |
EXTENSIONS: pdo, pdo_pgsql | |
runs-on: ${{ matrix.os }} | |
strategy: | |
matrix: | |
os: | |
- ubuntu-latest | |
php: | |
- 8.3 | |
services: | |
postgres: | |
image: postgres:16 | |
env: | |
POSTGRES_USER: root | |
POSTGRES_PASSWORD: root | |
POSTGRES_DB: yiitest | |
ports: | |
- 5432:5432 | |
options: --name=postgres --health-cmd="pg_isready" --health-interval=10s --health-timeout=5s --health-retries=3 | |
steps: | |
- name: Checkout. | |
uses: actions/checkout@v3 | |
- name: Install PHP with extensions. | |
uses: shivammathur/setup-php@v2 | |
with: | |
php-version: ${{ matrix.php }} | |
extensions: ${{ env.EXTENSIONS }} | |
ini-values: memory_limit=-1 | |
coverage: pcov | |
tools: composer:v2 | |
- name: Update composer. | |
run: composer self-update | |
- name: Set environment variables pull request linux. | |
uses: yiisoft/actions/db/environment-linux@master | |
- name: Install db. | |
uses: yiisoft/actions/db/subpackage-install@master | |
with: | |
BRANCH_NAME: ${{ env.BRANCH_NAME }} | |
COMPOSER_ROOT_VERSION: ${{ env.COMPOSER_ROOT_VERSION }} | |
CURRENT_PACKAGE: db | |
FULL_BRANCH_NAME: ${{ env.FULL_BRANCH_NAME }} | |
WORK_PACKAGE_URL: ${{ env.WORK_PACKAGE_URL }} | |
- name: Install dependencies with composer. | |
run: composer update --no-interaction --no-progress --optimize-autoloader --ansi | |
- name: Run infection. | |
run: | | |
vendor/bin/roave-infection-static-analysis-plugin --threads=2 --ignore-msi-with-no-mutations --only-covered | |
env: | |
STRYKER_DASHBOARD_API_KEY: ${{ secrets.STRYKER_DASHBOARD_API_KEY }} | |
YII_PGSQL_DATABASE: yiitest | |
YII_PGSQL_HOST: 127.0.0.1 | |
YII_PGSQL_PORT: 5432 | |
YII_PGSQL_USER: root | |
YII_PGSQL_PASSWORD: root |