Skip to content

Lock file maintenance #2187

Lock file maintenance

Lock file maintenance #2187

# https://help.github.com/en/categories/automating-your-workflow-with-github-actions
name: "Continuous Integration"
on:
pull_request:
push:
branches:
- "*.*.x"
- "renovate/*"
jobs:
phpunit:
name: "PHPUnit tests"
runs-on: ${{ matrix.operating-system }}
strategy:
matrix:
dependencies:
- "lowest"
- "highest"
- "locked"
php-version:
- "8.2"
- "8.3"
operating-system:
- "ubuntu-latest"
- "windows-latest"
steps:
- name: "Checkout"
uses: "actions/checkout@v4"
- name: "Install PHP"
uses: "shivammathur/setup-php@2.30.4"
with:
coverage: "pcov"
php-version: "${{ matrix.php-version }}"
extensions: intl, sodium
ini-values: memory_limit=-1
- name: "Install dependencies"
uses: "ramsey/composer-install@3.0.0"
with:
dependency-versions: "${{ matrix.dependencies }}"
- name: "Install CI dependencies"
uses: "ramsey/composer-install@3.0.0"
with:
dependency-versions: "${{ matrix.dependencies }}"
working-directory: "tools"
custom-cache-suffix: "ci"
- name: "Tests"
run: "vendor/bin/phpunit"
static-analysis-phpstan:
name: "Static Analysis by PHPStan"
runs-on: ${{ matrix.operating-system }}
strategy:
matrix:
dependencies:
- "locked"
php-version:
- "8.2"
- "8.3"
operating-system:
- "ubuntu-latest"
steps:
- name: "Checkout"
uses: "actions/checkout@v4"
- name: "Install PHP"
uses: "shivammathur/setup-php@2.30.4"
with:
coverage: "none"
php-version: "${{ matrix.php-version }}"
extensions: intl, sodium
ini-values: memory_limit=-1
- name: "Install dependencies"
uses: "ramsey/composer-install@3.0.0"
with:
dependency-versions: "${{ matrix.dependencies }}"
- name: "Install CI dependencies"
uses: "ramsey/composer-install@3.0.0"
with:
dependency-versions: "${{ matrix.dependencies }}"
working-directory: "tools"
custom-cache-suffix: "ci"
- name: "PHPStan"
run: "tools/vendor/bin/phpstan analyse --memory-limit=-1"
static-analysis-psalm:
name: "Static Analysis by Psalm"
runs-on: ${{ matrix.operating-system }}
strategy:
matrix:
dependencies:
- "locked"
php-version:
- "8.3"
operating-system:
- "ubuntu-latest"
steps:
- name: "Checkout"
uses: "actions/checkout@v4"
- name: "Install PHP"
uses: "shivammathur/setup-php@2.30.4"
with:
coverage: "none"
php-version: "${{ matrix.php-version }}"
extensions: intl, sodium
ini-values: memory_limit=-1
- name: "Install dependencies"
uses: "ramsey/composer-install@3.0.0"
with:
dependency-versions: "${{ matrix.dependencies }}"
- name: "Install CI dependencies"
uses: "ramsey/composer-install@3.0.0"
with:
dependency-versions: "${{ matrix.dependencies }}"
working-directory: "tools"
custom-cache-suffix: "ci"
- name: "psalm"
run: "tools/vendor/bin/psalm --shepherd --stats"
mutation-tests:
name: "Mutation tests"
runs-on: ${{ matrix.operating-system }}
strategy:
matrix:
dependencies:
- "locked"
php-version:
- "8.3"
operating-system:
- "ubuntu-latest"
steps:
- name: "Checkout"
uses: "actions/checkout@v4"
- name: "Install PHP"
uses: "shivammathur/setup-php@2.30.4"
with:
coverage: "xdebug"
php-version: "${{ matrix.php-version }}"
extensions: intl, sodium
ini-values: memory_limit=-1, zend.assertions=1
- name: "Install dependencies"
uses: "ramsey/composer-install@3.0.0"
with:
dependency-versions: "${{ matrix.dependencies }}"
- name: "Install CI dependencies"
uses: "ramsey/composer-install@3.0.0"
with:
dependency-versions: "${{ matrix.dependencies }}"
working-directory: "tools"
custom-cache-suffix: "ci"
- name: "Infection"
run: "tools/vendor/bin/roave-infection-static-analysis-plugin --threads=$(nproc)"
env:
INFECTION_BADGE_API_KEY: ${{ secrets.INFECTION_BADGE_API_KEY }}
STRYKER_DASHBOARD_API_KEY: ${{ secrets.STRYKER_DASHBOARD_API_KEY }}
compatibility:
name: "Test Compatibility"
runs-on: ${{ matrix.operating-system }}
strategy:
matrix:
dependencies:
- "locked"
php-version:
- "8.3"
operating-system:
- "ubuntu-latest"
- "windows-latest"
steps:
- name: "Checkout"
uses: "actions/checkout@v4"
- name: "Install PHP"
uses: "shivammathur/setup-php@2.30.4"
with:
coverage: "none"
php-version: "${{ matrix.php-version }}"
extensions: intl, sodium
ini-values: memory_limit=-1
- name: "Install dependencies"
uses: "ramsey/composer-install@3.0.0"
with:
dependency-versions: "${{ matrix.dependencies }}"
- name: "Install CI dependencies"
uses: "ramsey/composer-install@3.0.0"
with:
dependency-versions: "${{ matrix.dependencies }}"
working-directory: "tools"
custom-cache-suffix: "ci"
- name: "Test Compatibility"
run: "vendor/bin/phpunit test/compat"
demo-scripts:
name: "Check Demo Scripts"
runs-on: ${{ matrix.operating-system }}
strategy:
matrix:
dependencies:
- "locked"
php-version:
- "8.3"
operating-system:
- "ubuntu-latest"
steps:
- name: "Checkout"
uses: "actions/checkout@v4"
- name: "Install PHP"
uses: "shivammathur/setup-php@2.30.4"
with:
coverage: "none"
php-version: "${{ matrix.php-version }}"
extensions: intl, sodium
ini-values: memory_limit=-1
- name: "Install dependencies"
uses: "ramsey/composer-install@3.0.0"
with:
dependency-versions: "${{ matrix.dependencies }}"
- name: "Check Demo Scripts"
run: "test/demo/check-demo.sh"
benchmarks:
name: "Run benchmarks"
runs-on: ${{ matrix.operating-system }}
strategy:
matrix:
dependencies:
- "locked"
php-version:
- "8.3"
operating-system:
- "ubuntu-latest"
- "windows-latest"
steps:
- name: "Checkout"
uses: "actions/checkout@v4"
- name: "Install PHP"
uses: "shivammathur/setup-php@2.30.4"
with:
coverage: "none"
php-version: "${{ matrix.php-version }}"
extensions: intl, sodium
ini-values: memory_limit=-1
- name: "Install dependencies"
uses: "ramsey/composer-install@3.0.0"
with:
dependency-versions: "${{ matrix.dependencies }}"
- name: "Install CI dependencies"
uses: "ramsey/composer-install@3.0.0"
with:
dependency-versions: "${{ matrix.dependencies }}"
working-directory: "tools"
custom-cache-suffix: "ci"
- name: "PhpBench"
run: "vendor/bin/phpbench run --progress=dots --iterations=1"
coding-standards:
name: "Check Coding Standards"
runs-on: ${{ matrix.operating-system }}
strategy:
matrix:
dependencies:
- "locked"
php-version:
- "8.2"
operating-system:
- "ubuntu-latest"
steps:
- name: "Checkout"
uses: "actions/checkout@v4"
- name: "Install PHP"
uses: "shivammathur/setup-php@2.30.4"
with:
coverage: "none"
php-version: "${{ matrix.php-version }}"
extensions: intl, sodium
ini-values: memory_limit=-1
- name: "Install dependencies"
uses: "ramsey/composer-install@3.0.0"
with:
dependency-versions: "${{ matrix.dependencies }}"
working-directory: "tools"
custom-cache-suffix: "ci"
- name: "Coding Standard"
run: "tools/vendor/bin/phpcs"
backward-compatibility:
name: "Check Backward Compatibility"
if: ${{github.event_name == 'pull_request'}}
runs-on: ${{ matrix.operating-system }}
strategy:
matrix:
dependencies:
- "locked"
php-version:
- "8.3"
operating-system:
- "ubuntu-latest"
steps:
- name: "Checkout"
uses: "actions/checkout@v4"
with:
fetch-depth: 0
- name: "Install PHP"
uses: "shivammathur/setup-php@2.30.4"
with:
coverage: "none"
php-version: "${{ matrix.php-version }}"
extensions: intl, sodium
ini-values: memory_limit=-1
- name: "Install dependencies"
uses: "ramsey/composer-install@3.0.0"
with:
dependency-versions: "${{ matrix.dependencies }}"
working-directory: "tools"
custom-cache-suffix: "ci"
- name: "BC Checks"
run: tools/vendor/bin/roave-backward-compatibility-check --from=origin/${{ github.base_ref }}