Repository navigation
Run PHP framework compatibility in read-only containers - #418
Conversation
|
|
Frozen source: All six changed framework cells passed their actual run blocks on this source on 2026-11-13, finishing between 16:57:48 and 17:02:51 UTC:
Each cell used a fresh source snapshot/private Composer state, real positive/negative TLS controls, the actual immutable 242c Composer guard before requests, and the proposed job's consumer/install/bootstrap/role/PHPStan/tracing commands. Cached immutable base IDs were reused: PHP8.1 Source/state/control wrappers remain read-only; data, vendor, lock and declared outputs are the existing narrow writable mounts. The launcher adds exactly four synthetic test variables: Earlier The proposed central records change only the launcher hash in existing SDK unit/Carbon records, and add fixed-job PHP8.1/8.2/8.4 framework records, each binding the same 14 canonical inputs. All unrelated records, withdrawals and retired-source refusals remain unchanged. The PHP8.2 embedded-v1 transition is the remaining separate caller. |
|
Security exact source/caller review: PASS for SDK PHP #418 The remaining six framework cells are now partitioned into literal fixed-minor jobs:
Each job requires The launcher delta adds only four explicit synthetic test variables: I independently reran the five launcher controls; all pass. The six exact-head consumer packets report real Composer TLS/242c guards and successful original run blocks on the unchanged immutable 8.1/8.2/8.4 images. The earlier cached-role failure remains NONPASS and is correctly superseded by complete reruns after the allowlist fix. The currently failed policy/qualification jobs are expected fail-closed behavior because #394 is not yet accepted; skipped jobs are not treated as runtime evidence. Merge/activation still requires accepted central records, fresh exact-head SDK policy/aggregate checks, normal CI, and actual-main readback. No installed/product/release qualification is inferred. |
|
Exact-head hosted gate is now PASS for I fetched the individual logs by job ID because repeated Laravel job names make the combined log download incomplete. All six changed jobs independently show their exact PHP minor, inspected immutable image ID, actual TLS control, reviewed Composer guards, original functional commands and successful PHPStan:
The central acceptance condition in Security's exact source PASS is satisfied by central394's verified main receipt. SDK base remains |
|
Delivered at main All four actual-main workflows are terminal SUCCESS: CI, CodeQL, SonarQube, Public Boundary. This follows the exact-head35-success/one-intended-skip hosted gate and six individual framework log readbacks in the integration receipt, plus accepted central394. The six remaining framework cells now use the reviewed fixed-minor runtime without changing the complete framework matrix, original consumer behavior, minimum Laravel releases or required aggregate. Stock PHP8.3 remains its separately qualified path. Earlier policy/cached-role NONPASS observations remain distinct. No product release or published-SDK qualification is inferred. The final shared297 SDK caller is separately owned by sdk-php in SDK419 with central395: PHP8.2 embedded-v1 transition. Its activation remains held for its own source/catalog review, central acceptance and actual hosted/aggregate/main evidence. Shared closure remains with General. |



The six PHP8.1/8.2/8.4 framework cells still invoke setup-php. Move them to fixed-minor jobs using the existing digest-pinned PHP runtime, fixed APT prerequisite, immutable image-ID launcher and read-only host controls. All eight exact framework tuples remain present alongside stock8.3; the required aggregate requires all four jobs.
Generated Laravel apps use owned state/data. PHPStan runs through the PHP interpreter so writable vendor tools stay inside the container. Four explicit synthetic tracing/process-role variables are added to the launcher allowlist for the existing tracing and cached-role controls. Mounts, UID, limits, read-only controls and credential exclusions are unchanged. Adoption checks bind each cell to its job's minor, preserve the complete exact set and refuse unwrapped container tools or caret minimum installs.
Validation on frozen
2713469e40ba16766e462cf4f80d1dcdaf704fda: all six actual local consumers and their real TLS/Composer guard controls pass; both actual-container unit/Carbon replacement modes pass; five launcher controls and 16 adoption cases/93 assertions pass; shell, diff, exact matrix and public-source checks pass. Existing cached PHP8.1/8.2/8.4 images were reused without builds. Exact consumer evidence records the earlier Laravel13 NONPASS and corrected full repeat.The exact Security source review passes. Central #394 is accepted on main, updating the launcher hash in the existing unit/Carbon recipes and adding three scoped framework recipes. Every new runtime job requires
action-policy. Same-head hosted CI attempt 2 passes, with 35 successful checks and one intended skip overall; the six changed framework consumers and five PHP unit/Carbon jobs all pass. Each unit/Carbon suite reports 9,034 tests, 87,939 assertions and 56 skips. The earlier policy refusals and local cached-role failure remain historical NONPASS. Normal exact-head merge and actual-main readback remain the final gates. No policy/parser expansion, product version or release tag changes.Refs shared#297. Owner: sdk-php. PHP8.2 embedded-v1 transition remains a separate final caller.