Skip to content

Commit

Permalink
Add PHP 8.4 support (#898)
Browse files Browse the repository at this point in the history
  • Loading branch information
Slamdunk authored Oct 15, 2024
1 parent 5860164 commit 68ff89a
Show file tree
Hide file tree
Showing 4 changed files with 47 additions and 46 deletions.
83 changes: 42 additions & 41 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ jobs:
php-version: "${{ matrix.php-version }}"
ini-values: "${{ env.INI_VALUES }}"
tools: composer-normalize, composer-require-checker
- uses: "ramsey/composer-install@v2"
- uses: "ramsey/composer-install@v3"

- run: "composer validate --strict"
- run: "composer-normalize --dry-run"
Expand All @@ -48,7 +48,7 @@ jobs:
coverage: "pcov"
php-version: "${{ matrix.php-version }}"
ini-values: "${{ env.INI_VALUES }}"
- uses: "ramsey/composer-install@v2"
- uses: "ramsey/composer-install@v3"

- name: "Lint XMLs"
uses: ./.github/lint-xml-configuration
Expand All @@ -64,6 +64,7 @@ jobs:
php-version:
- "8.2"
- "8.3"
- "8.4"
dependencies:
- "lowest"
- "highest"
Expand All @@ -75,50 +76,50 @@ jobs:
coverage: "pcov"
php-version: "${{ matrix.php-version }}"
ini-values: "${{ env.INI_VALUES }}"
- uses: "ramsey/composer-install@v2"
- uses: "ramsey/composer-install@v3"
with:
dependency-versions: "${{ matrix.dependencies }}"

- name: "Run tests"
timeout-minutes: 3
run: "vendor/bin/phpunit --no-coverage --no-logging"

code-coverage:
name: "Code Coverage"
runs-on: "ubuntu-latest"
strategy:
matrix:
php-version:
- "8.2"

steps:
- uses: "actions/checkout@v4"
- uses: "shivammathur/setup-php@v2"
with:
coverage: "pcov"
php-version: "${{ matrix.php-version }}"
ini-values: "${{ env.INI_VALUES }}"
- uses: "ramsey/composer-install@v2"

- name: "Run tests"
timeout-minutes: 3
run: "vendor/bin/phpunit --coverage-xml=coverage/coverage-xml --log-junit=coverage/junit.xml"

- name: "Gather base branch for diff"
if: ${{ github.event_name == 'pull_request' }}
run: git fetch origin --no-tags --prune --depth=1 ${{ github.base_ref }} ${{ github.event.pull_request.base.sha }}

- name: "Infection on DIFF"
if: ${{ github.event_name == 'pull_request' }}
timeout-minutes: 30
run: "vendor/bin/infection run --ansi --threads=$(nproc) --skip-initial-tests --coverage=coverage --git-diff-lines --git-diff-base=origin/${{ github.base_ref }} --show-mutations --verbose --ignore-msi-with-no-mutations --min-msi=100"

- name: "Infection on complete code base"
if: ${{ github.event_name != 'pull_request' && !startsWith(github.ref_name, 'renovate/') }}
timeout-minutes: 30
run: "vendor/bin/infection run --ansi --threads=$(nproc) --skip-initial-tests --coverage=coverage"
env:
INFECTION_BADGE_API_KEY: ${{ secrets.INFECTION_BADGE_API_KEY }}
# code-coverage:
# name: "Code Coverage"
# runs-on: "ubuntu-latest"
# strategy:
# matrix:
# php-version:
# - "8.2"
#
# steps:
# - uses: "actions/checkout@v4"
# - uses: "shivammathur/setup-php@v2"
# with:
# coverage: "pcov"
# php-version: "${{ matrix.php-version }}"
# ini-values: "${{ env.INI_VALUES }}"
# - uses: "ramsey/composer-install@v3"
#
# - name: "Run tests"
# timeout-minutes: 3
# run: "vendor/bin/phpunit --coverage-xml=coverage/coverage-xml --log-junit=coverage/junit.xml"
#
# - name: "Gather base branch for diff"
# if: ${{ github.event_name == 'pull_request' }}
# run: git fetch origin --no-tags --prune --depth=1 ${{ github.base_ref }} ${{ github.event.pull_request.base.sha }}
#
# - name: "Infection on DIFF"
# if: ${{ github.event_name == 'pull_request' }}
# timeout-minutes: 30
# run: "vendor/bin/infection run --ansi --threads=$(nproc) --skip-initial-tests --coverage=coverage --git-diff-lines --git-diff-base=origin/${{ github.base_ref }} --show-mutations --verbose --ignore-msi-with-no-mutations --min-msi=100"
#
# - name: "Infection on complete code base"
# if: ${{ github.event_name != 'pull_request' && !startsWith(github.ref_name, 'renovate/') }}
# timeout-minutes: 30
# run: "vendor/bin/infection run --ansi --threads=$(nproc) --skip-initial-tests --coverage=coverage"
# env:
# INFECTION_BADGE_API_KEY: ${{ secrets.INFECTION_BADGE_API_KEY }}

coding-standards:
name: "Coding Standards"
Expand All @@ -136,7 +137,7 @@ jobs:
php-version: "${{ matrix.php-version }}"
ini-values: "${{ env.INI_VALUES }}"
tools: cs2pr
- uses: "ramsey/composer-install@v2"
- uses: "ramsey/composer-install@v3"

- run: "vendor/bin/phpcs -q --report=checkstyle | cs2pr"

Expand All @@ -155,6 +156,6 @@ jobs:
coverage: "pcov"
php-version: "${{ matrix.php-version }}"
ini-values: "${{ env.INI_VALUES }}"
- uses: "ramsey/composer-install@v2"
- uses: "ramsey/composer-install@v3"

- run: "vendor/bin/phpstan --memory-limit=512M --ansi --no-progress"
3 changes: 2 additions & 1 deletion Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,8 @@ ifeq ($(strip $(LOCAL_BASE_BRANCH)),)
endif
BASE_BRANCH ?= $(LOCAL_BASE_BRANCH)

all: csfix static-analysis code-coverage
#all: csfix static-analysis code-coverage
all: csfix static-analysis test
@echo "Done."

.env: /etc/passwd /etc/group Makefile
Expand Down
3 changes: 1 addition & 2 deletions composer.json
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@
}
],
"require": {
"php": "~8.2.0 || ~8.3.0",
"php": "~8.2.0 || ~8.3.0 || ~8.4.0",
"ext-dom": "*",
"ext-pcre": "*",
"ext-reflection": "*",
Expand All @@ -52,7 +52,6 @@
"ext-pcov": "*",
"ext-posix": "*",
"doctrine/coding-standard": "^12.0.0",
"infection/infection": "^0.29.7",
"phpstan/phpstan": "^1.12.6",
"phpstan/phpstan-deprecation-rules": "^1.2.1",
"phpstan/phpstan-phpunit": "^1.4.0",
Expand Down
4 changes: 2 additions & 2 deletions test/Unit/WrapperRunner/WrapperRunnerTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -249,7 +249,7 @@ public function testTeamcityOutput(): void
self::assertNotFalse($format);

$output = $result->output;
$output = preg_replace("/^Processes: \\d+\nRuntime: PHP \\d+.\\d+.\\d+(-\w+)?\n\n/", '', $output, 1, $count);
$output = preg_replace("/^Processes: \\d+\nRuntime: PHP \\d+\\.\\d+\\.\\w+(-\w+)?\n\n/", '', $output, 1, $count);
self::assertSame(1, $count);
self::assertNotNull($output);

Expand All @@ -270,7 +270,7 @@ public function testTestdoxOutput(): void
self::assertNotFalse($format);

$output = $result->output;
$output = preg_replace("/^Processes: \\d+\nRuntime: PHP \\d+.\\d+.\\d+(-.+)?\n\n/", '', $output, 1, $count);
$output = preg_replace("/^Processes: \\d+\nRuntime: PHP \\d+\\.\\d+\\.\\w+(-.+)?\n\n/", '', $output, 1, $count);
self::assertSame(1, $count);
self::assertNotNull($output);

Expand Down

0 comments on commit 68ff89a

Please sign in to comment.