Skip to content

Ignore missingType.iterableValue for data-providers #443

Ignore missingType.iterableValue for data-providers

Ignore missingType.iterableValue for data-providers #443

Workflow file for this run

# https://help.github.com/en/categories/automating-your-workflow-with-github-actions
name: "Build"
on:
pull_request:
push:
branches:
- "2.0.x"
concurrency:
group: build-${{ github.head_ref || github.run_id }} # will be canceled on subsequent pushes in pull requests but not branches
cancel-in-progress: true
jobs:
lint:
name: "Lint"
runs-on: "ubuntu-latest"
strategy:
matrix:
php-version:
- "7.4"
- "8.0"
- "8.1"
- "8.2"
- "8.3"
- "8.4"
steps:
- name: "Checkout"
uses: actions/checkout@v5
- name: "Install PHP"
uses: "shivammathur/setup-php@v2"
with:
coverage: "none"
php-version: "${{ matrix.php-version }}"
- name: "Validate Composer"
run: "composer validate"
- name: "Install dependencies"
run: "composer install --no-interaction --no-progress"
- name: "Lint"
run: "make lint"
coding-standard:
name: "Coding Standard"
runs-on: "ubuntu-latest"
steps:
- name: "Checkout"
uses: actions/checkout@v5
- name: "Checkout build-cs"
uses: actions/checkout@v5
with:
repository: "phpstan/build-cs"
path: "build-cs"
ref: "2.x"
- name: "Install PHP"
uses: "shivammathur/setup-php@v2"
with:
coverage: "none"
php-version: "8.2"
- name: "Validate Composer"
run: "composer validate"
- name: "Install dependencies"
run: "composer install --no-interaction --no-progress"
- name: "Install build-cs dependencies"
working-directory: "build-cs"
run: "composer install --no-interaction --no-progress"
- name: "Lint"
run: "make lint"
- name: "Coding Standard"
run: "make cs"
tests:
name: "Tests"
runs-on: "ubuntu-latest"
strategy:
fail-fast: false
matrix:
php-version:
- "7.4"
- "8.0"
- "8.1"
- "8.2"
- "8.3"
- "8.4"
dependencies:
- "lowest"
- "highest"
phpunit-version:
- "^9.5"
- "^10.5"
- "^11.5"
- "^12.0.9"
exclude:
- php-version: "7.4"
phpunit-version: "^10.5"
- php-version: "8.0"
phpunit-version: "^10.5"
- php-version: "7.4"
phpunit-version: "^11.5"
- php-version: "8.0"
phpunit-version: "^11.5"
- php-version: "8.1"
phpunit-version: "^11.5"
- php-version: "7.4"
phpunit-version: "^12.0.9"
- php-version: "8.0"
phpunit-version: "^12.0.9"
- php-version: "8.1"
phpunit-version: "^12.0.9"
- php-version: "8.2"
phpunit-version: "^12.0.9"
steps:
- name: "Checkout"
uses: actions/checkout@v5
- name: "Install PHP"
uses: "shivammathur/setup-php@v2"
with:
coverage: "none"
php-version: "${{ matrix.php-version }}"
- name: "Require specific PHPUnit version"
run: "composer require --dev phpunit/phpunit:${{ matrix.phpunit-version }}"
- name: "Install lowest dependencies"
if: ${{ matrix.dependencies == 'lowest' }}
run: "composer update --prefer-lowest --no-interaction --no-progress"
- name: "Install highest dependencies"
if: ${{ matrix.dependencies == 'highest' }}
run: "composer update --no-interaction --no-progress"
- name: "Tests"
run: "make tests"
static-analysis:
name: "PHPStan"
runs-on: "ubuntu-latest"
strategy:
fail-fast: false
matrix:
php-version:
- "7.4"
- "8.0"
- "8.1"
- "8.2"
- "8.3"
- "8.4"
dependencies:
- "lowest"
- "highest"
phpunit-version:
- "^9.5"
- "^10.5"
- "^11.5"
- "^12.0.9"
exclude:
- php-version: "7.4"
phpunit-version: "^10.5"
- php-version: "8.0"
phpunit-version: "^10.5"
- php-version: "7.4"
phpunit-version: "^11.5"
- php-version: "8.0"
phpunit-version: "^11.5"
- php-version: "8.1"
phpunit-version: "^11.5"
- php-version: "7.4"
phpunit-version: "^12.0.9"
- php-version: "8.0"
phpunit-version: "^12.0.9"
- php-version: "8.1"
phpunit-version: "^12.0.9"
- php-version: "8.2"
phpunit-version: "^12.0.9"
steps:
- name: "Checkout"
uses: actions/checkout@v5
- name: "Install PHP"
uses: "shivammathur/setup-php@v2"
with:
coverage: "none"
php-version: "${{ matrix.php-version }}"
extensions: mbstring
tools: composer:v2
- name: "Require specific PHPUnit version"
run: "composer require --dev phpunit/phpunit:${{ matrix.phpunit-version }}"
- name: "Install lowest dependencies"
if: ${{ matrix.dependencies == 'lowest' }}
run: "composer update --prefer-lowest --no-interaction --no-progress"
- name: "Install highest dependencies"
if: ${{ matrix.dependencies == 'highest' }}
run: "composer update --no-interaction --no-progress"
- name: "PHPStan"
run: "make phpstan"
mutation-testing:
name: "Mutation Testing"
runs-on: "ubuntu-latest"
needs: ["tests", "static-analysis"]
strategy:
fail-fast: false
matrix:
php-version:
- "8.2"
- "8.3"
- "8.4"
operating-system: [ubuntu-latest]
steps:
- name: "Checkout"
uses: actions/checkout@v5
- name: "Checkout build-infection"
uses: actions/checkout@v5
with:
repository: "phpstan/build-infection"
path: "build-infection"
ref: "1.x"
- uses: ./build-infection/.github/actions/setup-php
with:
php-version: "${{ matrix.php-version }}"
extensions: mbstring
- name: "Install dependencies"
run: "composer install --no-interaction --no-progress"
- name: "Install build-infection dependencies"
working-directory: "build-infection"
run: "composer install --no-interaction --no-progress"
- name: "Configure infection"
run: |
php build-infection/bin/infection-config.php \
> infection.json5
cat infection.json5 | jq
- name: "Cache Result cache"
uses: actions/cache@v4
with:
path: ./tmp
key: "result-cache-v1-${{ matrix.php-version }}-${{ github.run_id }}"
restore-keys: |
result-cache-v1-${{ matrix.php-version }}-
- name: "Run infection"
run: |
git fetch --depth=1 origin $GITHUB_BASE_REF
infection \
--git-diff-base=origin/$GITHUB_BASE_REF \
--git-diff-lines \
--ignore-msi-with-no-mutations \
--min-msi=100 \
--min-covered-msi=100 \
--log-verbosity=all \
--debug \
--logger-text=php://stdout