Repository navigation
Compile PHP 8.6 turbo binaries against 8.6.0RC2 - #6599
Merged
Merged
Conversation
8.6.0RC2 bumped the module API (20250926 -> 20260924). The Linux gnu 8.6 legs compiled against setup-php's nightly, still a Sep 22 snapshot with the old API, so the binary refused to load into the php:8.6-rc image and into every RC2+ PHP. Windows compiled against the pinned 8.6.0beta3 devel pack, with the same result for users. The gnu 8.6 legs now run in a ghcr.io/phpstan/turbo-build:gnu-php8.6 image like 8.3-8.5; ondrej/php only has 8.6.0beta3, so the image builds the checksum-pinned RC2 tarball on ubuntu:22.04 (glibc floor 2.34 kept). Windows moves to 8.6.0RC2. The ubuntu 8.6 turbo-run legs, which load the binary into setup-php's nightly, are dropped; turbo-docker-run covers them in the official prerelease image. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01G7KTTCjJCkx6FUNorJwUbW
| turbo-compile: | ||
| name: "Compile Turbo Extension" | ||
| runs-on: ${{ matrix.php-version == '8.6' && matrix.target.family == 'gnu' && (matrix.target.name == 'linux-gnu-arm64' && 'ubuntu-22.04-arm' || 'ubuntu-22.04') || matrix.target.runs-on }} | ||
| runs-on: ${{ matrix.target.runs-on }} |
This file contains hidden or 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
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
PHP 8.6.0RC2 bumped the module API (20250926 → 20260924, php-src 3987f2e7f0e). The turbo 8.6 binaries were still compiled against the old one:
php:8.6-rc(RC2) — the failingturbo-docker-run8.6 legs, e.g. https://github.com/phpstan/phpstan-src/actions/runs/36181168355/job/108224648190 — and would refuse every RC2+ PHP.ondrej/php only carries 8.6.0beta3, so:
gnu-php8.6, built from the checksum-pinned official RC2 tarball on ubuntu:22.04 (glibc floor 2.34 kept); the gnu 8.6 compile legs use it like 8.3–8.5 and all the setup-php special-casing goes awayPHP86_WINDOWS_VERSION→8.6.0RC2turbo-runlegs (binary loaded into setup-php's nightly) are excluded;turbo-docker-runcovers them in the official prerelease imageVerified locally (arm64): the image builds, the extension compiles with the strict warning flags, needs at most GLIBC_2.34, passes smoke/arena/exit-immediately/signature-parity/trusted-types, and loads into
php:8.6-rc-cli-bookworm(token-id probe OK, classes shadowed).The
gnu-php8.6image was published from this branch via workflow_dispatch before opening this PR.🤖 Generated with Claude Code
https://claude.ai/code/session_01G7KTTCjJCkx6FUNorJwUbW