Problem
ExamplesCompileTest builds and executes AOT binaries for shipped examples (#247, #309 closed).
script/examples-web-smoke.sh --aot exists (#298) but is not invoked from script/ci-local.sh. HTTP regressions in phpc serve --aot (superglobal refresh, static assets, JSON headers) can slip through until someone runs the script manually.
Goal
When LLVM is ready and loopback bind works, run:
# Pre-build per-example binaries (or document prerequisite)
./phpc build -o examples/001-SimpleWeb/.phpc/bin/app examples/001-SimpleWeb/example.php
# ...
./script/examples-web-smoke.sh --aot
from ci-local.sh after the @group serve PHPUnit suite (or as a lightweight script phase when PHP_COMPILER_SKIP_SERVE_TESTS is unset).
Scope
Acceptance criteria
make test-docker
# log contains: examples-web-smoke: ... (AOT) ... ok
Failing curl → non-zero ci-local.sh exit.
Verification (local / Docker only)
make docker-build-22
docker run --rm -v "$(pwd):/compiler" -w /compiler php-compiler:22.04-dev ./script/ci-local.sh
No .github/workflows/* changes required.
Dependencies
Related
Problem
ExamplesCompileTestbuilds and executes AOT binaries for shipped examples (#247, #309 closed).script/examples-web-smoke.sh --aotexists (#298) but is not invoked fromscript/ci-local.sh. HTTP regressions inphpc serve --aot(superglobal refresh, static assets, JSON headers) can slip through until someone runs the script manually.Goal
When LLVM is ready and loopback bind works, run:
from
ci-local.shafter the@group servePHPUnit suite (or as a lightweight script phase whenPHP_COMPILER_SKIP_SERVE_TESTSis unset).Scope
script/examples-web-smoke-prebuild.sh(or Makefile target) to build.phpc/bin/appfor 001/002/004 before--aotscript/ci-local.shonly whenLlvmToolchain::isReadyequivalent passes (reuse probe from existing llvm phase)PHP_COMPILER_SKIP_SERVE_TESTS=1or bind fails (same as ServeTest)Acceptance criteria
make test-docker # log contains: examples-web-smoke: ... (AOT) ... okFailing curl → non-zero
ci-local.shexit.Verification (local / Docker only)
make docker-build-22 docker run --rm -v "$(pwd):/compiler" -w /compiler php-compiler:22.04-dev ./script/ci-local.shNo
.github/workflows/*changes required.Dependencies
Related
test/unit/ExamplesWebSmokeScriptTest.php