Problem
#612 tracks PHPUnit dist-layout E2E for MiniWebApp with PHPC_DEPLOY_ROOT. Operators and harness hosts need a shell gate (like examples-web-smoke.sh) that validates phpc deploy bundles without running full ci-local.sh.
Today deploy verification is manual per docs/deploy-web-aot.md (#635 ✅).
Goal
make deploy-smoke
# or: ./script/deploy-smoke.sh
Builds 002-StaticWeb (or 001-SimpleWeb) AOT binary, runs phpc deploy, sets PHPC_DEPLOY_ROOT, curls HTML via one-shot CGI or phpc cgi (#665 ✅).
Scope
Implementation hints
| Step |
Command |
Notes |
| Build |
phpc build --project or single-file phpc build |
Requires LLVM; skip entire script if missing |
| Deploy |
phpc deploy -o /tmp/phpc-deploy-smoke |
#609 layout |
| CGI |
PHPC_DEPLOY_ROOT=… QUERY_STRING= …/bin/app |
Match CgiDriverTest env |
| Assert |
grep expected HTML substring |
002: static title; 001: name= optional |
Acceptance criteria
make deploy-smoke
docker run --rm -v "$(pwd):/compiler" -w /compiler php-compiler:22.04-dev make deploy-smoke
Exit 0 on host/Docker with LLVM; exit 0 with skip message when LLVM absent (same UX as examples-aot-smoke.sh).
Dependencies
Links
Problem
#612 tracks PHPUnit dist-layout E2E for MiniWebApp with
PHPC_DEPLOY_ROOT. Operators and harness hosts need a shell gate (likeexamples-web-smoke.sh) that validatesphpc deploybundles without running fullci-local.sh.Today deploy verification is manual per
docs/deploy-web-aot.md(#635 ✅).Goal
make deploy-smoke # or: ./script/deploy-smoke.shBuilds 002-StaticWeb (or 001-SimpleWeb) AOT binary, runs
phpc deploy, setsPHPC_DEPLOY_ROOT, curls HTML via one-shot CGI orphpc cgi(#665 ✅).Scope
script/deploy-smoke.shwith--example 001|002flagMakefiletargetdeploy-smokescript/miniwebapp-gates.shstage 4d (document only until 003 green)docs/deploy-web-aot.mdlinkImplementation hints
phpc build --projector single-filephpc buildphpc deploy -o /tmp/phpc-deploy-smokePHPC_DEPLOY_ROOT=… QUERY_STRING= …/bin/appCgiDriverTestenvname=optionalAcceptance criteria
make deploy-smoke docker run --rm -v "$(pwd):/compiler" -w /compiler php-compiler:22.04-dev make deploy-smokeExit 0 on host/Docker with LLVM; exit 0 with skip message when LLVM absent (same UX as
examples-aot-smoke.sh).Dependencies
phpc deployLinks