Problem
#718 ✅ added script/deploy-smoke.sh / make deploy-smoke for 001-SimpleWeb and 002-StaticWeb. The 003 block is still a hard skip citing #568:
smoke_003_miniwebapp() {
echo "deploy-smoke: 003-MiniWebApp: skip (AOT link blocked #568; PHPUnit dist E2E #612)" >&2
return 0
}
#568 ✅ closed — native link works. #612 tracks PHPUnit dist E2E; operators still lack a shell gate that phpc deploy examples/003-MiniWebApp → PHPC_DEPLOY_ROOT → binary stdout needles.
Goal
Implement smoke_003_miniwebapp() mirroring 001/002:
phpc build --project examples/003-MiniWebApp
phpc deploy -o $tmpdir/dist (or documented dist path)
PHPC_DEPLOY_ROOT=$tmpdir/dist + CGI env (PATH_INFO=/home or QUERY_STRING=route=home)
- Assert stdout contains
MiniWebApp / layout partial
Opt-out: DEPLOY_SMOKE_ONLY=003 env (parallel to EXAMPLES_AOT_SMOKE_ONLY=003 in #683).
Scope
Implementation hints
| Piece |
File |
Notes |
| Smoke |
script/deploy-smoke.sh |
Copy smoke_001_simpleweb env helpers |
| Deploy |
lib/Web/ProjectDeploy.php |
Assert templates/, assets/, cgi-wrapper present |
| Includes |
#623 ✅ |
Runtime phpc_deploy_path() for templates |
| PHPUnit |
#612 |
Share env needles; shell gate lands first |
| CGI |
#682 |
Optional second path via cgi-wrapper in dist |
Harness
make deploy-smoke # 001+002 today; 003 after this issue
DEPLOY_SMOKE_ONLY=003 make deploy-smoke
docker run --rm -v "$(pwd):/compiler" -w /compiler php-compiler:22.04-dev make deploy-smoke
Acceptance criteria
Dependencies
Verification
Local/Docker only — not GitHub Actions.
Links
Problem
#718 ✅ added
script/deploy-smoke.sh/make deploy-smokefor 001-SimpleWeb and 002-StaticWeb. The 003 block is still a hard skip citing #568:#568 ✅ closed — native link works. #612 tracks PHPUnit dist E2E; operators still lack a shell gate that
phpc deploy examples/003-MiniWebApp→PHPC_DEPLOY_ROOT→ binary stdout needles.Goal
Implement
smoke_003_miniwebapp()mirroring 001/002:phpc build --project examples/003-MiniWebAppphpc deploy -o $tmpdir/dist(or documented dist path)PHPC_DEPLOY_ROOT=$tmpdir/dist+ CGI env (PATH_INFO=/homeorQUERY_STRING=route=home)MiniWebApp/ layout partialOpt-out:
DEPLOY_SMOKE_ONLY=003env (parallel toEXAMPLES_AOT_SMOKE_ONLY=003in #683).Scope
script/deploy-smoke.shscript/miniwebapp-gates.shstage 4d frommark 0→ ✅ when greentest/unit/DeploySmokeScriptTest.php— no longer assert stderr contains#568skipexamples/003-MiniWebApp/README.mddeploy sectionci-local.shuntil Testing: DEPLOY_SMOKE_GATE default in ci-local.sh (001/002 deploy bundle) #737 001/002 gate stable; optionalDEPLOY_SMOKE_003_GATE=1follow-upImplementation hints
script/deploy-smoke.shsmoke_001_simplewebenv helperslib/Web/ProjectDeploy.phptemplates/,assets/,cgi-wrapperpresentphpc_deploy_path()for templatescgi-wrapperin distHarness
Acceptance criteria
make deploy-smokeruns 003 block: exit 0 with needles when LLVM readyDependencies
phpc deployVerification
Local/Docker only — not GitHub Actions.
Links