chore: support PHP 8.4 and 8.5 in parallel - #13
Conversation
Allow php ^8.4 with z-engine resolved per minor (8.4.x-dev || 8.5.x-dev), run the CI matrix on both minors and refresh the badges. The 8.5 test leg is non-blocking for now: z-engine's 8.5 line does not yet dispatch the write/unset property handlers, so immutability is only enforced on 8.4 until that lands upstream. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Y5XNnAjcG8xSxun92V23Sm
|
Report the bug to z-engine 8.5 version (targeting master branch) and link it here. I would like to have 8.5 working here as well without ignore on error - 8.5 should be stable too. |
The 8.5 phpt failures observed during development turned out to be an artifact of the sandboxed environment they were run in, not of z-engine's 8.5 line: on real runners the suite passes 8/8 on both minors. Drop the continue-on-error escape hatch and the experimental note - 8.5 gates the build exactly like 8.4. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Y5XNnAjcG8xSxun92V23Sm
|
Good news: there is no z-engine bug to report — 8.5 is already stable here. The CI run on this PR proves it: both The 5/8 failures I described in the PR body were an artifact of the sandboxed remote environment this session ran in, not of z-engine: the write-property FFI callbacks stopped being dispatched there mid-session (correlated with an environment policy change), and the failure reproduced across every z-engine master commit — which in hindsight was the tell that the environment, not the library, was broken. Filing an upstream issue for something that only reproduces in that sandbox would send you chasing a ghost, so I haven't opened one. Accordingly I've pushed 0e0d1a2*: the * commit: Generated by Claude Code |
|
Correction: the hard-gate commit above is Generated by Claude Code |
What
composer.json:php: ^8.4andlisachenko/z-engine: 8.4.x-dev || 8.5.x-dev, withminimum-stability: dev+prefer-stable: true(required at root level for the dev branches). Composer resolves the z-engine line matching the running minor — verified:8.4.x-devon PHP 8.4,dev-master(aliased8.5.x-dev) on PHP 8.5.8.4and8.5(× lowest/highest deps), both as hard gates.8.4 | 8.5, prerequisites updated.Validation
CI on this PR: all five checks green, including
Tests (PHP 8.5, lowest deps)andTests (PHP 8.5, highest deps)— 8/8 tests on both minors.Note: an earlier revision of this description reported 5/8 failures on PHP 8.5 and marked that leg
continue-on-error. That turned out to be an artifact of the sandboxed environment the local validation ran in (FFI write-property callbacks stopped dispatching there mid-session), not a z-engine issue — the suite passes on real runners, so commitc51b9caremoved the escape hatch and the experimental note.🤖 Generated with Claude Code
https://claude.ai/code/session_01Y5XNnAjcG8xSxun92V23Sm