From fc3d1834c0b3397750f4167e67bb8a6eb3f76fe9 Mon Sep 17 00:00:00 2001 From: "v.razuvaev" Date: Thu, 15 Oct 2026 20:32:08 +0300 Subject: [PATCH 1/2] CI: experimental PHP 8.6 job (RC, tests only, not required) --- .github/workflows/build.yml | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 304f21a..8254e32 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -82,6 +82,7 @@ jobs: build: name: PHP ${{ matrix.php }} runs-on: ubuntu-latest + continue-on-error: ${{ matrix.experimental }} strategy: fail-fast: false @@ -90,6 +91,17 @@ jobs: - '8.3' - '8.4' - '8.5' + experimental: [false] + include: + # PHP 8.6 is not released yet: the job runs on the RC, is not a + # required check and cannot fail the workflow. composer.json still + # says "8.3 - 8.5", hence --ignore-platform-req=php+ below. It runs + # the tests only: php-cs-fixer refuses 8.6 and psalm crashes on the + # RC — style and static analysis are covered by 8.3–8.5. After GA: + # drop `experimental`, widen "php" to "8.3 - 8.6", run the full + # build and add "PHP 8.6" to templates/branch-protection.json. + - php: '8.6' + experimental: true steps: - name: Checkout @@ -113,10 +125,10 @@ jobs: restore-keys: composer-${{ runner.os }}- - name: Install dependencies - run: composer install --no-interaction --no-progress --prefer-dist + run: composer install --no-interaction --no-progress --prefer-dist ${{ matrix.experimental && '--ignore-platform-req=php+' || '' }} - name: Build - run: composer build + run: ${{ matrix.experimental && 'composer test' || 'composer build' }} prefer-lowest: name: Prefer lowest From 8ea1547301be03fc785773b70e65f6e39c46aee8 Mon Sep 17 00:00:00 2001 From: "v.razuvaev" Date: Thu, 15 Oct 2026 20:37:53 +0300 Subject: [PATCH 2/2] CI: pass the PHP 8.6 switches through env (zizmor template-injection) --- .github/workflows/build.yml | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 8254e32..f93c0c4 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -125,10 +125,14 @@ jobs: restore-keys: composer-${{ runner.os }}- - name: Install dependencies - run: composer install --no-interaction --no-progress --prefer-dist ${{ matrix.experimental && '--ignore-platform-req=php+' || '' }} + env: + PLATFORM_FLAGS: ${{ matrix.experimental && '--ignore-platform-req=php+' || '' }} + run: composer install --no-interaction --no-progress --prefer-dist $PLATFORM_FLAGS - name: Build - run: ${{ matrix.experimental && 'composer test' || 'composer build' }} + env: + BUILD_SCRIPT: ${{ matrix.experimental && 'test' || 'build' }} + run: composer "$BUILD_SCRIPT" prefer-lowest: name: Prefer lowest