Merge branch '5.1' into 6.3

* 5.1:
  Sync with CI pipeline configuration for PHPUnit
  Update tools
This commit is contained in:
Sebastian Bergmann 2025-09-26 13:23:57 +02:00
commit c939676885
No known key found for this signature in database
GPG Key ID: 4AA394086372C20A
4 changed files with 133 additions and 25 deletions

View File

@ -1,13 +1,14 @@
# https://help.github.com/en/categories/automating-your-workflow-with-github-actions
on:
- "pull_request"
- "push"
- pull_request
- push
name: "CI"
name: CI
env:
COMPOSER_ROOT_VERSION: "6.3.x-dev"
COMPOSER_ROOT_VERSION: 6.3.x-dev
PHP_VERSION: 8.4
permissions:
contents: read
@ -17,16 +18,29 @@ jobs:
name: Coding Guidelines
runs-on: ubuntu-latest
timeout-minutes: 5
steps:
- name: Checkout
uses: actions/checkout@v4
uses: actions/checkout@v5
with:
fetch-depth: 1
ref: ${{ github.event.pull_request.head.sha || github.sha }}
- name: Use local branch
shell: bash
run: |
BRANCH=$([ "${{ github.event_name }}" == "pull_request" ] && echo "${{ github.head_ref }}" || echo "${{ github.ref_name }}")
git branch -D $BRANCH 2>/dev/null || true
git branch $BRANCH HEAD
git checkout $BRANCH
- name: Install PHP
uses: shivammathur/setup-php@v2
with:
php-version: 8.3
php-version: ${{ env.PHP_VERSION }}
coverage: none
tools: none
- name: Run PHP-CS-Fixer
run: ./tools/php-cs-fixer fix --dry-run --show-progress=dots --using-cache=no --verbose
@ -35,16 +49,29 @@ jobs:
name: Static Analysis
runs-on: ubuntu-latest
timeout-minutes: 5
steps:
- name: Checkout
uses: actions/checkout@v4
uses: actions/checkout@v5
with:
fetch-depth: 1
ref: ${{ github.event.pull_request.head.sha || github.sha }}
- name: Use local branch
shell: bash
run: |
BRANCH=$([ "${{ github.event_name }}" == "pull_request" ] && echo "${{ github.head_ref }}" || echo "${{ github.ref_name }}")
git branch -D $BRANCH 2>/dev/null || true
git branch $BRANCH HEAD
git checkout $BRANCH
- name: Install PHP
uses: shivammathur/setup-php@v2
with:
php-version: 8.3
php-version: ${{ env.PHP_VERSION }}
coverage: none
tools: none
- name: Install dependencies with Composer
run: ./tools/composer update --no-interaction --no-ansi --no-progress
@ -56,39 +83,120 @@ jobs:
name: Tests
runs-on: ubuntu-latest
timeout-minutes: 5
strategy:
fail-fast: false
matrix:
php-version:
- "8.2"
- "8.3"
- "8.4"
- "8.5"
- 8.2
- 8.3
- 8.4
- 8.5
- 8.6
steps:
- name: "Checkout"
uses: "actions/checkout@v4"
- name: "Install PHP with extensions"
uses: "shivammathur/setup-php@v2"
- name: Checkout
uses: actions/checkout@v5
with:
php-version: "${{ matrix.php-version }}"
coverage: "xdebug"
fetch-depth: 1
ref: ${{ github.event.pull_request.head.sha || github.sha }}
- name: "Install dependencies with Composer"
run: "./tools/composer update --no-ansi --no-interaction --no-progress"
- name: Use local branch
shell: bash
run: |
BRANCH=$([ "${{ github.event_name }}" == "pull_request" ] && echo "${{ github.head_ref }}" || echo "${{ github.ref_name }}")
git branch -D $BRANCH 2>/dev/null || true
git branch $BRANCH HEAD
git checkout $BRANCH
- name: "Run tests with PHPUnit"
run: "vendor/bin/phpunit --log-junit junit.xml --coverage-clover=coverage.xml"
- name: Install PHP with extensions
uses: shivammathur/setup-php@v2
with:
php-version: ${{ matrix.php-version }}
coverage: none
tools: none
- name: Get Composer cache directory
id: composer-cache
shell: bash
run: |
echo "dir=$(composer config cache-files-dir)" >> "$GITHUB_OUTPUT"
- name: Cache Composer cache directory
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 with Composer
run: ./tools/composer update --no-ansi --no-interaction --no-progress
- name: Run tests with PHPUnit
run: vendor/bin/phpunit
code-coverage:
name: Code Coverage
needs:
- tests
runs-on: ubuntu-latest
timeout-minutes: 5
steps:
- name: Checkout
uses: actions/checkout@v5
with:
fetch-depth: 1
ref: ${{ github.event.pull_request.head.sha || github.sha }}
- name: Use local branch
shell: bash
run: |
BRANCH=$([ "${{ github.event_name }}" == "pull_request" ] && echo "${{ github.head_ref }}" || echo "${{ github.ref_name }}")
git branch -D $BRANCH 2>/dev/null || true
git branch $BRANCH HEAD
git checkout $BRANCH
- name: Install PHP with extensions
uses: shivammathur/setup-php@v2
with:
php-version: ${{ matrix.php-version }}
coverage: xdebug
tools: none
- name: Get Composer cache directory
id: composer-cache
shell: bash
run: |
echo "dir=$(composer config cache-files-dir)" >> "$GITHUB_OUTPUT"
- name: Cache Composer cache directory
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 with Composer
run: ./tools/composer update --no-ansi --no-interaction --no-progress
- name: Collect code coverage with PHPUnit
run: vendor/bin/phpunit --log-junit test-results.xml --coverage-clover=code-coverage.xml
- name: Upload test results to Codecov.io
if: ${{ !cancelled() }}
uses: codecov/test-results-action@v1
with:
token: ${{ secrets.CODECOV_TOKEN }}
disable_search: true
files: ./test-results.xml
- name: Upload code coverage data to Codecov.io
uses: codecov/codecov-action@v4
with:
token: ${{ secrets.CODECOV_TOKEN }}
disable_search: true
files: ./code-coverage.xml

View File

@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<phive xmlns="https://phar.io/phive">
<phar name="php-cs-fixer" version="^3.71" installed="3.87.2" location="./tools/php-cs-fixer" copy="true"/>
<phar name="php-cs-fixer" version="^3.71" installed="3.88.0" location="./tools/php-cs-fixer" copy="true"/>
<phar name="composer" version="^2.8" installed="2.8.12" location="./tools/composer" copy="true"/>
<phar name="infection" version="^0.29" installed="0.29.14" location="./tools/infection" copy="true"/>
<phar name="phpstan" version="^2.1" installed="2.1.28" location="./tools/phpstan" copy="true"/>
<phar name="phpstan" version="^2.1" installed="2.1.29" location="./tools/phpstan" copy="true"/>
</phive>

Binary file not shown.

Binary file not shown.