Merge pull request #554 from ergebnis/dependabot/github_actions/actio… #1840
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
# https://docs.github.com/en/actions | |
name: "Integrate" | |
on: # yamllint disable-line rule:truthy | |
pull_request: null | |
push: | |
branches: | |
- "main" | |
jobs: | |
code-coverage: | |
name: "Code Coverage" | |
runs-on: "ubuntu-latest" | |
timeout-minutes: 5 | |
strategy: | |
matrix: | |
phpunit-version: | |
- "7.5.0" | |
php-version: | |
- "7.4" | |
dependencies: | |
- "highest" | |
steps: | |
- name: "Checkout" | |
uses: "actions/checkout@v4.1.5" | |
- name: "Set up PHP" | |
uses: "shivammathur/setup-php@2.30.4" | |
with: | |
coverage: "xdebug" | |
extensions: "none, ctype, curl, dom, json, mbstring, phar, simplexml, tokenizer, xml, xmlwriter" | |
php-version: "${{ matrix.php-version }}" | |
- name: "Set up problem matchers for PHP" | |
run: "echo \"::add-matcher::${{ runner.tool_cache }}/php.json\"" | |
- name: "Set up problem matchers for phpunit/phpunit" | |
run: "echo \"::add-matcher::${{ runner.tool_cache }}/phpunit.json\"" | |
- name: "Validate composer.json and composer.lock" | |
run: "composer validate --ansi --strict" | |
- name: "Determine composer cache directory" | |
uses: "ergebnis/.github/actions/composer/determine-cache-directory@1.9.0" | |
- name: "Cache dependencies installed with composer" | |
uses: "actions/cache@v4.0.2" | |
with: | |
path: "${{ env.COMPOSER_CACHE_DIR }}" | |
key: "php-${{ matrix.php-version }}-composer-${{ matrix.dependencies }}-${{ hashFiles('composer.lock') }}" | |
restore-keys: "php-${{ matrix.php-version }}-composer-${{ matrix.dependencies }}-" | |
- name: "Remove incompatible dependencies with composer" | |
run: "composer remove ergebnis/composer-normalize ergebnis/license ergebnis/php-cs-fixer-config psalm/plugin-phpunit rector/rector vimeo/psalm --ansi --dev --no-interaction --no-progress" | |
- name: "Require phpunit/phpunit:^${{ matrix.phpunit-version }}" | |
run: "composer require phpunit/phpunit:^${{ matrix.phpunit-version }} --ansi --no-interaction --no-progress --update-with-all-dependencies" | |
- name: "Install ${{ matrix.dependencies }} dependencies with composer" | |
uses: "ergebnis/.github/actions/composer/install@1.9.0" | |
with: | |
dependencies: "${{ matrix.dependencies }}" | |
- name: "Collect code coverage with Xdebug and phpunit/phpunit" | |
env: | |
XDEBUG_MODE: "coverage" | |
run: "vendor/bin/phpunit --colors=always --configuration=test/Unit/phpunit.xml --coverage-clover=.build/phpunit/logs/clover.xml" | |
- name: "Send code coverage report to codecov.io" | |
uses: "codecov/codecov-action@v4.3.1" | |
with: | |
files: ".build/phpunit/logs/clover.xml" | |
token: "${{ secrets.CODECOV_TOKEN }}" | |
coding-standards: | |
name: "Coding Standards" | |
runs-on: "ubuntu-latest" | |
timeout-minutes: 5 | |
strategy: | |
matrix: | |
php-version: | |
- "7.4" | |
dependencies: | |
- "locked" | |
steps: | |
- name: "Checkout" | |
uses: "actions/checkout@v4.1.5" | |
- name: "Lint YAML files" | |
uses: "ibiqlik/action-yamllint@v3.1.1" | |
with: | |
config_file: ".yamllint.yaml" | |
file_or_dir: "." | |
strict: true | |
- name: "Set up PHP" | |
uses: "shivammathur/setup-php@2.30.4" | |
with: | |
coverage: "none" | |
extensions: "none, ctype, curl, dom, json, mbstring, phar, simplexml, tokenizer, xml, xmlwriter" | |
php-version: "${{ matrix.php-version }}" | |
- name: "Set up problem matchers for PHP" | |
run: "echo \"::add-matcher::${{ runner.tool_cache }}/php.json\"" | |
- name: "Validate composer.json and composer.lock" | |
run: "composer validate --ansi --strict" | |
- name: "Determine composer cache directory" | |
uses: "ergebnis/.github/actions/composer/determine-cache-directory@1.9.0" | |
- name: "Cache dependencies installed with composer" | |
uses: "actions/cache@v4.0.2" | |
with: | |
path: "${{ env.COMPOSER_CACHE_DIR }}" | |
key: "php-${{ matrix.php-version }}-composer-${{ matrix.dependencies }}-${{ hashFiles('composer.lock') }}" | |
restore-keys: "php-${{ matrix.php-version }}-composer-${{ matrix.dependencies }}-" | |
- name: "Install ${{ matrix.dependencies }} dependencies with composer" | |
uses: "ergebnis/.github/actions/composer/install@1.9.0" | |
with: | |
dependencies: "${{ matrix.dependencies }}" | |
- name: "Run ergebnis/composer-normalize" | |
run: "composer normalize --ansi --dry-run" | |
- name: "Cache cache directory for friendsofphp/php-cs-fixer" | |
uses: "actions/cache@v4.0.2" | |
with: | |
path: ".build/php-cs-fixer" | |
key: "php-${{ matrix.php-version }}-php-cs-fixer-${{ github.ref_name }}" | |
restore-keys: | | |
php-${{ matrix.php-version }}-php-cs-fixer-main | |
php-${{ matrix.php-version }}-php-cs-fixer- | |
- name: "Run friendsofphp/php-cs-fixer" | |
run: "vendor/bin/php-cs-fixer fix --ansi --config=.php-cs-fixer.php --diff --dry-run --show-progress=dots --verbose" | |
dependency-analysis: | |
name: "Dependency Analysis" | |
runs-on: "ubuntu-latest" | |
timeout-minutes: 5 | |
strategy: | |
matrix: | |
php-version: | |
- "7.4" | |
dependencies: | |
- "locked" | |
steps: | |
- name: "Checkout" | |
uses: "actions/checkout@v4.1.5" | |
- name: "Set up PHP" | |
uses: "shivammathur/setup-php@2.30.4" | |
with: | |
coverage: "none" | |
extensions: "none, ctype, curl, dom, json, mbstring, phar, simplexml, tokenizer, xml, xmlwriter" | |
php-version: "${{ matrix.php-version }}" | |
tools: "phive" | |
- name: "Set up problem matchers for PHP" | |
run: "echo \"::add-matcher::${{ runner.tool_cache }}/php.json\"" | |
- name: "Validate composer.json and composer.lock" | |
run: "composer validate --ansi --strict" | |
- name: "Determine composer cache directory" | |
uses: "ergebnis/.github/actions/composer/determine-cache-directory@1.9.0" | |
- name: "Cache dependencies installed with composer" | |
uses: "actions/cache@v4.0.2" | |
with: | |
path: "${{ env.COMPOSER_CACHE_DIR }}" | |
key: "php-${{ matrix.php-version }}-composer-${{ matrix.dependencies }}-${{ hashFiles('composer.lock') }}" | |
restore-keys: "php-${{ matrix.php-version }}-composer-${{ matrix.dependencies }}-" | |
- name: "Install ${{ matrix.dependencies }} dependencies with composer" | |
uses: "ergebnis/.github/actions/composer/install@1.9.0" | |
with: | |
dependencies: "${{ matrix.dependencies }}" | |
- name: "Install dependencies with phive" | |
uses: "ergebnis/.github/actions/phive/install@1.9.0" | |
with: | |
trust-gpg-keys: "0x2DF45277AEF09A2F,0x033E5F8D801A2F8D" | |
- name: "Run maglnet/composer-require-checker" | |
run: ".phive/composer-require-checker check --ansi --config-file=$(pwd)/composer-require-checker.json --verbose" | |
phar: | |
name: "Phar" | |
runs-on: "ubuntu-latest" | |
timeout-minutes: 5 | |
strategy: | |
matrix: | |
php-version: | |
- "7.4" | |
dependencies: | |
- "locked" | |
env: | |
PHPUNIT_SLOW_TEST_DETECTOR_PHAR: ".build/phar/phpunit-slow-test-detector.phar" | |
steps: | |
- name: "Checkout" | |
uses: "actions/checkout@v4.1.5" | |
- name: "Set up PHP" | |
uses: "shivammathur/setup-php@2.30.4" | |
with: | |
coverage: "none" | |
extensions: "none, ctype, curl, dom, json, mbstring, phar, simplexml, tokenizer, xml, xmlwriter" | |
ini-values: "memory_limit=-1, phar.readonly=0" | |
php-version: "${{ matrix.php-version }}" | |
tools: "phive" | |
- name: "Set up problem matchers for PHP" | |
run: "echo \"::add-matcher::${{ runner.tool_cache }}/php.json\"" | |
- name: "Determine composer cache directory" | |
uses: "ergebnis/.github/actions/composer/determine-cache-directory@1.9.0" | |
- name: "Cache dependencies installed with composer" | |
uses: "actions/cache@v4.0.2" | |
with: | |
path: "${{ env.COMPOSER_CACHE_DIR }}" | |
key: "php-${{ matrix.php-version }}-composer-${{ matrix.dependencies }}-${{ hashFiles('composer.lock') }}" | |
restore-keys: "php-${{ matrix.php-version }}-composer-${{ matrix.dependencies }}-" | |
- name: "Remove incompatible dependencies with composer" | |
run: "composer remove ergebnis/composer-normalize ergebnis/license ergebnis/php-cs-fixer-config psalm/plugin-phpunit rector/rector vimeo/psalm --ansi --dev --no-interaction --no-progress" | |
- name: "Remove phpunit/phpunit with composer" | |
run: "composer remove phpunit/phpunit --ansi --no-interaction --ignore-platform-reqs --no-progress" | |
- name: "Install ${{ matrix.dependencies }} dependencies with composer" | |
uses: "ergebnis/.github/actions/composer/install@1.9.0" | |
with: | |
dependencies: "${{ matrix.dependencies }}" | |
- name: "Remove git placeholder configuration with jq" | |
run: "echo $(cat box.json | jq 'del(.git)') > box.json" | |
- name: "Install dependencies with phive" | |
uses: "ergebnis/.github/actions/phive/install@1.9.0" | |
with: | |
trust-gpg-keys: "0x2DF45277AEF09A2F,0x033E5F8D801A2F8D" | |
- name: "Validate configuration for humbug/box" | |
run: ".phive/box validate box.json --ansi" | |
- name: "Compile phpunit-slow-test-detector.phar with humbug/box" | |
run: ".phive/box compile --ansi --config=box.json" | |
- name: "Show info about phpunit-slow-test-detector.phar with humbug/box" | |
run: ".phive/box info ${{ env.PHPUNIT_SLOW_TEST_DETECTOR_PHAR }} --ansi --list" | |
- name: "Upload Phar" | |
uses: "actions/upload-artifact@v4.3.3" | |
with: | |
name: "phpunit-slow-test-detector-phar" | |
overwrite: true | |
path: "${{ env.PHPUNIT_SLOW_TEST_DETECTOR_PHAR }}" | |
retention-days: 1 | |
refactoring: | |
name: "Refactoring" | |
runs-on: "ubuntu-latest" | |
timeout-minutes: 5 | |
strategy: | |
matrix: | |
php-version: | |
- "7.4" | |
dependencies: | |
- "locked" | |
steps: | |
- name: "Checkout" | |
uses: "actions/checkout@v4.1.5" | |
- name: "Set up PHP" | |
uses: "shivammathur/setup-php@2.30.4" | |
with: | |
coverage: "none" | |
extensions: "none, ctype, curl, dom, json, mbstring, phar, simplexml, tokenizer, xml, xmlwriter" | |
php-version: "${{ matrix.php-version }}" | |
- name: "Set up problem matchers for PHP" | |
run: "echo \"::add-matcher::${{ runner.tool_cache }}/php.json\"" | |
- name: "Validate composer.json and composer.lock" | |
run: "composer validate --ansi --strict" | |
- name: "Determine composer cache directory" | |
uses: "ergebnis/.github/actions/composer/determine-cache-directory@1.9.0" | |
- name: "Cache dependencies installed with composer" | |
uses: "actions/cache@v4.0.2" | |
with: | |
path: "${{ env.COMPOSER_CACHE_DIR }}" | |
key: "php-${{ matrix.php-version }}-composer-${{ matrix.dependencies }}-${{ hashFiles('composer.lock') }}" | |
restore-keys: "php-${{ matrix.php-version }}-composer-${{ matrix.dependencies }}-" | |
- name: "Install ${{ matrix.dependencies }} dependencies with composer" | |
uses: "ergebnis/.github/actions/composer/install@1.9.0" | |
with: | |
dependencies: "${{ matrix.dependencies }}" | |
- name: "Cache cache directory for rector/rector" | |
uses: "actions/cache@v4.0.2" | |
with: | |
path: ".build/rector" | |
key: "php-${{ matrix.php-version }}-rector-${{ github.ref_name }}" | |
restore-keys: | | |
php-${{ matrix.php-version }}-rector-main | |
php-${{ matrix.php-version }}-rector- | |
- name: "Run automated refactoring with rector/rector" | |
run: "vendor/bin/rector --ansi --config=rector.php --dry-run" | |
security-analysis: | |
name: "Security Analysis" | |
runs-on: "ubuntu-latest" | |
timeout-minutes: 5 | |
strategy: | |
matrix: | |
php-version: | |
- "7.4" | |
dependencies: | |
- "locked" | |
steps: | |
- name: "Checkout" | |
uses: "actions/checkout@v4.1.5" | |
- name: "Set up PHP" | |
uses: "shivammathur/setup-php@2.30.4" | |
with: | |
coverage: "none" | |
extensions: "none, ctype, curl, dom, json, mbstring, phar, simplexml, tokenizer, xml, xmlwriter" | |
php-version: "${{ matrix.php-version }}" | |
- name: "Set up problem matchers for PHP" | |
run: "echo \"::add-matcher::${{ runner.tool_cache }}/php.json\"" | |
- name: "Validate composer.json and composer.lock" | |
run: "composer validate --ansi --strict" | |
- name: "Determine composer cache directory" | |
uses: "ergebnis/.github/actions/composer/determine-cache-directory@1.9.0" | |
- name: "Cache dependencies installed with composer" | |
uses: "actions/cache@v4.0.2" | |
with: | |
path: "${{ env.COMPOSER_CACHE_DIR }}" | |
key: "php-${{ matrix.php-version }}-composer-${{ matrix.dependencies }}-${{ hashFiles('composer.lock') }}" | |
restore-keys: "php-${{ matrix.php-version }}-composer-${{ matrix.dependencies }}-" | |
- name: "Install ${{ matrix.dependencies }} dependencies with composer" | |
uses: "ergebnis/.github/actions/composer/install@1.9.0" | |
with: | |
dependencies: "${{ matrix.dependencies }}" | |
- name: "Check installed packages for security vulnerability advisories" | |
run: "composer audit --ansi" | |
static-code-analysis: | |
name: "Static Code Analysis" | |
runs-on: "ubuntu-latest" | |
timeout-minutes: 5 | |
strategy: | |
matrix: | |
php-version: | |
- "7.4" | |
dependencies: | |
- "locked" | |
steps: | |
- name: "Checkout" | |
uses: "actions/checkout@v4.1.5" | |
- name: "Set up PHP" | |
uses: "shivammathur/setup-php@2.30.4" | |
with: | |
coverage: "none" | |
extensions: "none, ctype, curl, dom, json, mbstring, opcache, pcntl, phar, posix, simplexml, tokenizer, xml, xmlwriter" | |
php-version: "${{ matrix.php-version }}" | |
- name: "Set up problem matchers for PHP" | |
run: "echo \"::add-matcher::${{ runner.tool_cache }}/php.json\"" | |
- name: "Validate composer.json and composer.lock" | |
run: "composer validate --ansi --strict" | |
- name: "Determine composer cache directory" | |
uses: "ergebnis/.github/actions/composer/determine-cache-directory@1.9.0" | |
- name: "Cache dependencies installed with composer" | |
uses: "actions/cache@v4.0.2" | |
with: | |
path: "${{ env.COMPOSER_CACHE_DIR }}" | |
key: "php-${{ matrix.php-version }}-composer-${{ matrix.dependencies }}-${{ hashFiles('composer.lock') }}" | |
restore-keys: "php-${{ matrix.php-version }}-composer-${{ matrix.dependencies }}-" | |
- name: "Install ${{ matrix.dependencies }} dependencies with composer" | |
uses: "ergebnis/.github/actions/composer/install@1.9.0" | |
with: | |
dependencies: "${{ matrix.dependencies }}" | |
- name: "Run vimeo/psalm" | |
run: "vendor/bin/psalm --config=psalm.xml --output-format=github --shepherd --show-info=false --stats --threads=4" | |
tests: | |
name: "Tests" | |
runs-on: "ubuntu-latest" | |
timeout-minutes: 5 | |
needs: | |
- "phar" | |
strategy: | |
fail-fast: false | |
matrix: | |
phpunit-version: | |
- "6.5.0" | |
php-version: | |
- "7.0" | |
- "7.1" | |
- "7.2" | |
- "7.3" | |
- "7.4" | |
dependencies: | |
- "lowest" | |
- "highest" | |
include: | |
- phpunit-version: "7.5.0" | |
php-version: "7.1" | |
dependencies: "lowest" | |
- phpunit-version: "7.5.0" | |
php-version: "7.1" | |
dependencies: "highest" | |
- phpunit-version: "7.5.0" | |
php-version: "7.2" | |
dependencies: "lowest" | |
- phpunit-version: "7.5.0" | |
php-version: "7.2" | |
dependencies: "highest" | |
- phpunit-version: "7.5.0" | |
php-version: "7.3" | |
dependencies: "lowest" | |
- phpunit-version: "7.5.0" | |
php-version: "7.3" | |
dependencies: "highest" | |
- phpunit-version: "7.5.0" | |
php-version: "7.4" | |
dependencies: "lowest" | |
- phpunit-version: "7.5.0" | |
php-version: "7.4" | |
dependencies: "highest" | |
- phpunit-version: "8.5.19" | |
php-version: "7.2" | |
dependencies: "lowest" | |
- phpunit-version: "8.5.19" | |
php-version: "7.2" | |
dependencies: "highest" | |
- phpunit-version: "8.5.19" | |
php-version: "7.3" | |
dependencies: "lowest" | |
- phpunit-version: "8.5.19" | |
php-version: "7.3" | |
dependencies: "highest" | |
- phpunit-version: "8.5.19" | |
php-version: "7.4" | |
dependencies: "lowest" | |
- phpunit-version: "8.5.19" | |
php-version: "7.4" | |
dependencies: "highest" | |
- phpunit-version: "8.5.19" | |
php-version: "8.0" | |
dependencies: "lowest" | |
- phpunit-version: "8.5.19" | |
php-version: "8.0" | |
dependencies: "highest" | |
- phpunit-version: "8.5.19" | |
php-version: "8.1" | |
dependencies: "lowest" | |
- phpunit-version: "8.5.19" | |
php-version: "8.1" | |
dependencies: "highest" | |
- phpunit-version: "8.5.19" | |
php-version: "8.2" | |
dependencies: "lowest" | |
- phpunit-version: "8.5.19" | |
php-version: "8.2" | |
dependencies: "highest" | |
- phpunit-version: "8.5.19" | |
php-version: "8.3" | |
dependencies: "lowest" | |
- phpunit-version: "8.5.19" | |
php-version: "8.3" | |
dependencies: "highest" | |
- phpunit-version: "9.0.0" | |
php-version: "7.3" | |
dependencies: "lowest" | |
- phpunit-version: "9.0.0" | |
php-version: "7.3" | |
dependencies: "highest" | |
- phpunit-version: "9.0.0" | |
php-version: "7.4" | |
dependencies: "lowest" | |
- phpunit-version: "9.0.0" | |
php-version: "7.4" | |
dependencies: "highest" | |
- phpunit-version: "9.0.0" | |
php-version: "8.0" | |
dependencies: "lowest" | |
- phpunit-version: "9.0.0" | |
php-version: "8.0" | |
dependencies: "highest" | |
- phpunit-version: "9.0.0" | |
php-version: "8.1" | |
dependencies: "lowest" | |
- phpunit-version: "9.0.0" | |
php-version: "8.1" | |
dependencies: "highest" | |
- phpunit-version: "9.0.0" | |
php-version: "8.2" | |
dependencies: "lowest" | |
- phpunit-version: "9.0.0" | |
php-version: "8.2" | |
dependencies: "highest" | |
- phpunit-version: "9.0.0" | |
php-version: "8.3" | |
dependencies: "lowest" | |
- phpunit-version: "9.0.0" | |
php-version: "8.3" | |
dependencies: "highest" | |
- phpunit-version: "10.0.0" | |
php-version: "8.1" | |
dependencies: "lowest" | |
- phpunit-version: "10.0.0" | |
php-version: "8.1" | |
dependencies: "highest" | |
- phpunit-version: "10.0.0" | |
php-version: "8.2" | |
dependencies: "lowest" | |
- phpunit-version: "10.0.0" | |
php-version: "8.2" | |
dependencies: "highest" | |
- phpunit-version: "10.0.0" | |
php-version: "8.3" | |
dependencies: "lowest" | |
- phpunit-version: "10.0.0" | |
php-version: "8.3" | |
dependencies: "highest" | |
- phpunit-version: "11.0.0" | |
php-version: "8.2" | |
dependencies: "lowest" | |
- phpunit-version: "11.0.0" | |
php-version: "8.2" | |
dependencies: "highest" | |
- phpunit-version: "11.0.0" | |
php-version: "8.3" | |
dependencies: "lowest" | |
- phpunit-version: "11.0.0" | |
php-version: "8.3" | |
dependencies: "highest" | |
env: | |
PHPUNIT_SLOW_TEST_DETECTOR_PHAR: ".build/phar/phpunit-slow-test-detector.phar" | |
steps: | |
- name: "Checkout" | |
uses: "actions/checkout@v4.1.5" | |
- name: "Set up PHP" | |
uses: "shivammathur/setup-php@2.30.4" | |
with: | |
coverage: "none" | |
extensions: "none, ctype, curl, dom, json, mbstring, phar, simplexml, tokenizer, xml, xmlwriter" | |
php-version: "${{ matrix.php-version }}" | |
- name: "Set up problem matchers for PHP" | |
run: "echo \"::add-matcher::${{ runner.tool_cache }}/php.json\"" | |
- name: "Set up problem matchers for phpunit/phpunit" | |
run: "echo \"::add-matcher::${{ runner.tool_cache }}/phpunit.json\"" | |
- name: "Validate composer.json and composer.lock" | |
run: "composer validate --ansi --strict" | |
- name: "Determine composer cache directory" | |
uses: "ergebnis/.github/actions/composer/determine-cache-directory@1.9.0" | |
- name: "Cache dependencies installed with composer" | |
uses: "actions/cache@v4.0.2" | |
with: | |
path: "${{ env.COMPOSER_CACHE_DIR }}" | |
key: "php-${{ matrix.php-version }}-composer-${{ matrix.dependencies }}-phpunit-${{ matrix.phpunit-version }}-${{ hashFiles('composer.lock') }}" | |
restore-keys: "php-${{ matrix.php-version }}-composer-${{ matrix.dependencies }}-phpunit-${{ matrix.phpunit-version }}-" | |
- name: "Remove incompatible dependencies with composer" | |
if: "matrix.dependencies != 'locked'" | |
run: "composer remove ergebnis/composer-normalize ergebnis/license ergebnis/php-cs-fixer-config psalm/plugin-phpunit rector/rector vimeo/psalm --ansi --dev --no-interaction --no-progress" | |
- name: "Remove platform configuration with composer" | |
if: "matrix.dependencies != 'locked'" | |
run: "composer config platform.php --ansi --unset" | |
- name: "Require phpunit/phpunit:^${{ matrix.phpunit-version }}" | |
if: "matrix.dependencies != 'locked' && matrix.phpunit-version != '6.5.0'" | |
run: "composer require phpunit/phpunit:^${{ matrix.phpunit-version }} --ansi --no-interaction --no-progress --update-with-all-dependencies" | |
- name: "Require fakerphp/faker:^1.9.2 and phpunit/phpunit:^${{ matrix.phpunit-version }}" | |
if: "matrix.dependencies != 'locked' && matrix.phpunit-version == '6.5.0'" | |
run: "composer require fakerphp/faker:^1.9.2 phpunit/phpunit:^${{ matrix.phpunit-version }} --ansi --no-interaction --no-progress --update-with-all-dependencies" | |
- name: "Install ${{ matrix.dependencies }} dependencies with composer" | |
uses: "ergebnis/.github/actions/composer/install@1.9.0" | |
with: | |
dependencies: "${{ matrix.dependencies }}" | |
- name: "Run unit tests with phpunit/phpunit:7.5.0" | |
if: "matrix.phpunit-version == '7.5.0'" | |
run: "vendor/bin/phpunit --colors=always --configuration=test/Unit/phpunit.xml" | |
- name: "Apply patch from https://github.com/sebastianbergmann/phpunit/pull/4486 for phpunit/phpunit:9.0.0" | |
if: "matrix.php-version == '8.3' && matrix.phpunit-version == '9.0.0' && matrix.dependencies == 'lowest'" | |
run: | | |
cd vendor/phpunit/phpunit | |
wget -O gh-4486.patch https://github.com/sebastianbergmann/phpunit/commit/0a488f22925b3c8732338ef0fbfe7f13cb4cf1d2.patch | |
patch -p1 < gh-4486.patch | |
- name: "Run end-to-end tests with phpunit/phpunit:6.5.0" | |
if: "matrix.phpunit-version == '6.5.0'" | |
run: "vendor/bin/phpunit --colors=always --configuration=test/EndToEnd/Version06/phpunit.xml" | |
- name: "Run end-to-end tests with phpunit/phpunit:7.5.0" | |
if: "matrix.phpunit-version == '7.5.0'" | |
run: "vendor/bin/phpunit --colors=always --configuration=test/EndToEnd/Version07/phpunit.xml" | |
- name: "Run end-to-end tests with phpunit/phpunit:8.5.19" | |
if: "matrix.phpunit-version == '8.5.19'" | |
run: "vendor/bin/phpunit --colors=always --configuration=test/EndToEnd/Version08/phpunit.xml" | |
- name: "Run end-to-end tests with phpunit/phpunit:9.0.0" | |
if: "matrix.phpunit-version == '9.0.0'" | |
run: "vendor/bin/phpunit --colors=always --configuration=test/EndToEnd/Version09/phpunit.xml" | |
- name: "Run end-to-end tests with phpunit/phpunit:10.0.0" | |
if: "matrix.phpunit-version == '10.0.0'" | |
run: "vendor/bin/phpunit --colors=always --configuration=test/EndToEnd/Version10/phpunit.xml" | |
- name: "Run end-to-end tests with phpunit/phpunit:11.0.0" | |
if: "matrix.phpunit-version == '11.0.0'" | |
run: "vendor/bin/phpunit --colors=always --configuration=test/EndToEnd/Version11/phpunit.xml" | |
- name: "Download Phar" | |
uses: "actions/download-artifact@v4.1.4" | |
with: | |
name: "phpunit-slow-test-detector-phar" | |
path: "${{ env.PHPUNIT_SLOW_TEST_DETECTOR_PHAR }}" | |
- name: "Remove autoloader for composer" | |
run: "composer install --ansi --no-autoloader --no-interaction" | |
- name: "Run phar tests with phpunit/phpunit:7.5.0" | |
if: "matrix.phpunit-version == '7.5.0'" | |
run: "vendor/bin/phpunit --colors=always --configuration=test/Phar/Version07/phpunit.xml" | |
- name: "Run phar tests with phpunit/phpunit:8.5.19" | |
if: "matrix.phpunit-version == '8.5.19'" | |
run: "vendor/bin/phpunit --colors=always --configuration=test/Phar/Version08/phpunit.xml" | |
- name: "Run phar tests with phpunit/phpunit:9.0.0" | |
if: "matrix.phpunit-version == '9.0.0'" | |
run: "vendor/bin/phpunit --colors=always --configuration=test/Phar/Version09/phpunit.xml" | |
- name: "Run phar tests with phpunit/phpunit:10.0.0" | |
if: "matrix.phpunit-version == '10.0.0'" | |
run: "vendor/bin/phpunit --colors=always --configuration=test/Phar/Version10/phpunit.xml" | |
- name: "Run phar tests with phpunit/phpunit:11.0.0" | |
if: "matrix.phpunit-version == '11.0.0'" | |
run: "vendor/bin/phpunit --colors=always --configuration=test/Phar/Version11/phpunit.xml" |