Problem
MiniWebApp AOT work is split across four skipped tests/issues. When #568 lands, implementers need a single ordered checklist so we do not flip ExamplesCompileTest execute before ServeAotTest or examples-aot-smoke 003.
Unskip order (do not reorder)
| Step |
Issue / test |
Gate |
| 1 |
#624 ExamplesCompileTest::test003MiniWebAppProjectAotLint |
phpc build --project --dry-run exit 0 (hard fail in @group aot-lint, not skip) |
| 2 |
#454 ExamplesCompileTest::test003MiniWebAppEventuallyRuns |
phpc build --project link + CLI execute (PATH_INFO=/home env) |
| 3 |
#485 / script/examples-aot-smoke.sh 003 block |
Remove skip stanza; EXAMPLES_AOT_SMOKE_ONLY=003 probe (#683 ✅) |
| 4 |
#478 ServeAotTest MiniWebApp via phpc serve --aot |
HTTP PATH_INFO routes |
| 5 |
#610 ServeAotTest + /assets/style.css |
Static assets from deploy docroot |
| 6 |
#612 PHPC_DEPLOY_ROOT dist E2E |
phpc deploy + PHPUnit or #718 deploy-smoke |
| 7 |
#682 CgiDriverTest AOT cgi-wrapper 003 |
bin/cgi-aot.php + deploy root |
| 8 |
#587 PhpcBuildProjectTest JIT project smoke |
Optional; JIT may lag AOT |
PHPUnit methods to unskip (grep #568)
| File |
Method |
@group |
test/unit/ExamplesCompileTest.php |
test003MiniWebAppEventuallyRuns |
miniwebapp |
test/unit/ExamplesCompileTest.php |
testAotLintMiniWebAppPublicIndex |
aot-lint |
test/real/ServeAotTest.php |
testServes003MiniWebApp* |
serve, llvm |
test/real/CgiDriverTest.php |
AOT MiniWebApp PATH_INFO cases |
llvm |
Remove markTestSkipped(... #568 ...) only after step 2 passes locally:
docker run --rm -v "$(pwd):/compiler" -w /compiler php-compiler:22.04-dev \
./phpc build --project examples/003-MiniWebApp
Scope
Acceptance criteria
docker run --rm -v "$(pwd):/compiler" -w /compiler php-compiler:22.04-dev \
./script/ci-local.sh --filter 'ExamplesCompileTest::test003MiniWebApp|ServeAotTest'
No @group miniwebapp AOT tests skipped for “#568” when LLVM ready.
Dependencies
Verification
Local/Docker only — not GitHub Actions.
Links
Problem
MiniWebApp AOT work is split across four skipped tests/issues. When #568 lands, implementers need a single ordered checklist so we do not flip
ExamplesCompileTestexecute beforeServeAotTestorexamples-aot-smoke003.Unskip order (do not reorder)
ExamplesCompileTest::test003MiniWebAppProjectAotLintphpc build --project --dry-runexit 0 (hard fail in@group aot-lint, not skip)ExamplesCompileTest::test003MiniWebAppEventuallyRunsphpc build --projectlink + CLI execute (PATH_INFO=/homeenv)script/examples-aot-smoke.sh003 blockskipstanza;EXAMPLES_AOT_SMOKE_ONLY=003probe (#683 ✅)ServeAotTestMiniWebApp viaphpc serve --aotServeAotTest+/assets/style.cssPHPC_DEPLOY_ROOTdist E2Ephpc deploy+ PHPUnit or #718deploy-smokeCgiDriverTestAOT cgi-wrapper 003bin/cgi-aot.php+ deploy rootPhpcBuildProjectTestJIT project smokePHPUnit methods to unskip (grep
#568)@grouptest/unit/ExamplesCompileTest.phptest003MiniWebAppEventuallyRunsminiwebapptest/unit/ExamplesCompileTest.phptestAotLintMiniWebAppPublicIndexaot-linttest/real/ServeAotTest.phptestServes003MiniWebApp*serve,llvmtest/real/CgiDriverTest.phpllvmRemove
markTestSkipped(... #568 ...)only after step 2 passes locally:docker run --rm -v "$(pwd):/compiler" -w /compiler php-compiler:22.04-dev \ ./phpc build --project examples/003-MiniWebAppScope
script/miniwebapp-gates.shstage 4b–4c → 4d (CI: Default EXAMPLES_AOT_SMOKE_GATE=1 in ci-local.sh (promote #667) #674, Testing: make deploy-smoke — phpc deploy + PHPC_DEPLOY_ROOT shell gate #718)ci-local.shAcceptance criteria
No
@group miniwebappAOT tests skipped for “#568” when LLVM ready.Dependencies
phpc deployVerification
Local/Docker only — not GitHub Actions.
Links
test/unit/ExamplesCompileTest.php,test/real/ServeAotTest.php,test/real/CgiDriverTest.php