Repository navigation
Use pinned containers for the remaining PHP test minors - #148
Conversation
|
Local consumer at exact CLI source The CLI minor/module/function/production-INI/no-coverage probe, real Composer ambient-positive/selected-clean TLS refusal before HTTP, exact Composer verifier75587fc3 before installation and scripts, and dependency install pass. The public CA bundle digest was The original CLI suite ran987 cases with18413 assertions, two failures and one existing live-Server skip. The shared SDK base omits two tools available on the original CLI runner: cli owns the correction: retain the identical shared no-DB base and add a CLI overlay with the accepted pinned Node binary and procps. Then repeat the affected controls and full original consumer suite. Central runtime admission, exact-head Security review and hosted actual caller results remain required before activating/merging the new test profile. No source-only or inherited SDK result is treated as a CLI pass. |
|
The corrected local PHP 8.2 consumer passes at source
The initial NONPASS remains recorded. This is local consumer evidence only; PHP8.4/8.5 and hosted actual caller qualification remain pending. cli owns the exact runtime recipe record and activation after central admission and Security review. Owned containers were removed automatically, and all source and diagnostic state is on disk-backed scratch. |
|
CLI's remaining test-minor work is cli#148, current source The common no-DB base/CA/Brotli files exactly reuse SDK PHP source4d37a42d. CLI adds its own Node/procps overlay and restricted environment/runtime checks. The local PHP8.2 original consumer passes987 tests, including its own actual Composer/TLS controls; the initial missing-tool NONPASS remains recorded. cli owns a separate PHP8.5 local qualification now. SDK PHP owns the shared PHP8.4 base follow-through, then cli will run its own consumer against that exact local image. No duplicate shared-base build or inherited caller qualification. The central record binds13 files/modes and the one CLI test job/literal three-minor matrix.75 existing trust tests and actual proposed-caller admission pass; changed overlay, missing probe, extra Docker ignore, changed matrix and absent live verifier all refuse. Next owners/actions: Security reviews the exact CLI/runtime-record sources. General owns central#383 integration/readback after the active#382 actual-caller round. cli then activates the registered runtime and owns actual PHP8.2/8.4/8.5 hosted/main qualification. The activation is held until that source record is accepted. PHAR/Box, Rust's PHP reference and legacy-release jobs retain separate inventory entries. Delivered CLI#147 remains limited to its qualified stock8.3 cell; shared#297 stays open. |
|
Local PHP8.5 qualification passes at exact CLI source The actual The probe confirms PHP8.5.12, all required CLI/PHPUnit modules and process functions, production INI, coverage-none, procps and Node22.23.4. The real Composer ambient-positive/selected-clean TLS refusal passes. Exact75587fc3 Composer verification before install and scripts passes against public CA SHA25650f79f98. Original install and full CLI suite pass:987 tests/18422 assertions,11 existing PHPUnit deprecations, one existing live-Server skip. Only one CLI build ran at a time, extension compilation used-j2, probes/consumers kept their declared CPU/memory/PID caps and all containers were removed. The temporary APT source checkout is removed; small diagnostic records remain on owned disk-backed scratch through review. No production credentials or vault reads. PHP8.2 and8.5 local consumers now pass. PHP8.4 waits for the shared base owner's exact image, then cli runs its own consumer. Central#383 admission, Security's exact-source verdict and actual hosted/main qualification remain separate pending gates; caller activation stays held. The13 admitted source hashes are unchanged between the earlier recipe packet and current684e025. |
|
Security source/trust PASS for the preparatory runtime source at exact head I reviewed all 17 added/changed files and independently bound them to the approved central #383 record:
The central record independently matches all 13 runtime hashes/modes and both required absences. Current source checks are green, and the four launcher controls cover immutable-image refusal, container Composer substitution, selected CA deduplication, credential/override exclusion, and no Docker socket mount. This is source approval only. At this head, |
|
Security HOLD — the preceding source PASS is historical and does not authorize activation. Exact head
These calls inherit Required correction: isolate every host-Python call in the setup/trust path ( No current hosted job qualifies this source because activation remains held. Do not merge/activate #148 or central #383 at the old hashes; any corrected head requires full counter-review. |
|
Corrected source: The marker-only regression proves both working-directory The exact corrected setup ran under a deliberately poisoned Only one of the13 bound runtime files changes: Central#383 remains HOLD. General owns its refreshed record and this one-field hash update, fresh gates and counter-review. Security must review the corrected CLI/record heads. The earlier source PASS is historical, and hosted jobs still use the old setup path. Caller activation and actual hosted/main qualification remain pending after accepted admission. |
|
Historical local PHP8.4 runtime consumer: PASS at source The shared SDK PHP4d37a42d base is CLI's own probe, real Composer ambient-positive/selected-clean TLS refusal, exact75587fc3 guard before dependencies/scripts, original install and full suite pass:987 tests/18422 assertions,11 existing PHPUnit deprecations and one existing live-Server skip. Runtime is PHP8.4.27, production INI, no coverage, required process-control/PHPUnit modules and Node22.23.4. Public CA SHA25650f79f98; no production credentials or vault reads. Containers were capped and removed. These old-head local runtime results do not approve the later host setup code. Corrected-source marker/actual launcher proof is separately bound to ed5908f. General owns the updated central#383 hash record and Security owns its counter-review. Actual hosted/main caller evidence remains pending after acceptance. |
|
Security PASS — corrected source boundary at exact head Relative to the held Independent local checks at this exact head passed the five launcher/setup tests, including both marker origins and refusal before Docker when the trusted APT source is absent, plus all three workflow-structure tests. A source scan finds no remaining non-isolated This closes Security's source finding for CLI #148. Merge/activation remains held on the exact central #383 record update to this setup hash, its proposed-caller/mutation checks, and all required current-head checks. This verdict does not revive the held |
|
|
Workflow-only adoption is now exact The sole delta from Security-passed ed5908f is Actual hosted qualification is running: Build43426524254. cli owns failures, the actual8.2/8.4/8.5 caller results, exact-head review/merge and main verification. INI scope is explicit: the reviewed container production INI uses128M memory, UTC and disabled CLI OPcache. This differs from the old helper's appended unlimited-memory/JIT settings. The preservation claim concerns original commands and required coverage, rather than byte-identical ambient INI. All987 local CLI cases passed under128M on each minor; the separate SDK unlimited-memory overlay is unnecessary for this CLI profile. PHAR/Box, Rust's PHP-reference setup and legacy-release profiles remain separate shared#297 work. |
|
Security exact-head workflow adoption review: PASS for Relative to source-reviewed I independently matched all 13 runtime blobs and Git modes against accepted central catalog The CLI profile remains the separately reviewed production This is an exact-source/workflow verdict. Merge remains subject to the terminal exact-head aggregate and the owner's hosted caller evidence; no other CLI PHP profile or shared #297 caller is qualified by this result. |
|
Actual hosted callers pass at exact Each original job passes the admitted source build, runtime probe and real TLS control, live Composer verification, dependency installation, installer/release-contract checks, re-verification and original Sonar's gate passes with zero security hotspots. Its two test-fixture suggestions were inspected: S1186 concerns the intentional no-op HTTP access-log override in the synthetic TLS server, and S7504 suggests removing the key snapshot from a loop that deletes dictionary entries. Logging is deliberately suppressed; the snapshot is required for safe mutation. Neither is a runtime defect or grounds to remove the passing control. These dispositions are recorded without changing the admitted runtime inputs. |
|
Delivered on main All actual-main workflows succeeded: Build, CodeQL, Public Boundary, and SonarQube. Build includes the actual PHP 8.2/8.4/8.5 container callers, separately qualified 8.3 cell, preserved test commands and required aggregate gate. Exact source/workflow Security reviews and hosted receipts are linked above. The merged remote branch was deleted after its SHA check and verified absent. This CI-only change needs no package release. Shared #297 remains open for the distinct PHAR/Box, Rust PHP-reference and legacy-release callers. cli retains those next actions. Repository inventory now has zero open issues and zero open PRs; the next active product work is CLI installed request-key acceptance under shared #216 against qualified Server 3.9.1. |
|
Security HOLD on the pending workflow activation. The earlier source and fixture-equality reviews do not cover the newly identified shared writable-root/wrapper boundary flaw in the frozen launcher: same-UID package/application code receives read-write repository and host wrapper state mounts and can replace the host wrapper/launcher before a later nominal verifier call. The currently accepted central record must not activate the old source hash. Shared finding and required read-only/narrow-writable correction plus predecessor-failing actual-container controls: durable-workflow/.github#297 (comment) Please send corrected source, replacement central hashes, and a refreshed workflow head/hosted result. No compromise of an existing run or artifact is inferred. |



The PHP 8.2/8.4/8.5 test cells installed PHP through mutable host setup. Run them in pinned container toolchains with private Composer state and restricted launchers, while preserving the original commands, the separately qualified PHP 8.3 cell and the required aggregate gate.
The no-DB base/CA/Brotli inputs reuse the reviewed SDK PHP source. A CLI overlay provides the pinned Node binary and procps required by existing release-contract and installer-shell tests. Setup checks the fixed APT source, inspected base/final image identities and ancestry, modules/functions, production INI, coverage-none and the real Composer TLS boundary. Host Python runs isolated from workspace/PYTHONPATH imports; marker regressions reproduce the former defect and protect the correction. The live Composer verifier remains immediately before dependency requests and project scripts.
Central #383 is accepted on main03438ccd and binds all 13 runtime source hashes/modes. This workflow-only adoption exactly matches the independently reviewed proposed caller. Production INI is an explicit new test profile (128M memory, UTC, CLI OPcache disabled), differing from the old helper's unlimited-memory/JIT defaults. The preservation claim concerns commands and required test coverage.
Validation: five launcher/setup and three gate controls pass; independent proposed-caller and mutation checks pass under accepted policy. Local original CLI consumers pass 987 cases/18,422 assertions on each minor, and corrected setup under poisoned PYTHONPATH passes real probe/TLS/Composer/full-suite controls. Evidence. Actual hosted Build 43426524254 and exact-workflow Security review passed. Merged as 847f291; the complete tree equals the reviewed head. All four main workflows passed, including Build 43427924786. The merged remote branch is deleted and verified absent.
Other PHAR/Box, Rust PHP-reference and legacy-release profiles remain separate shared #297 work. Refs durable-workflow/.github#297.