You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
script/ci-local.sh prints whether LLVM 9 exists, then runs @group llvm tests — but it does not fail when the JIT compliance suite reports 133 skipped / 0 executed while .llvm/libLLVM-9.so.1 is present. That lets JIT regressions ship while local CI appears “green.”
Parent: #98 (fix root cause in JITTest / env). This issue adds a cheap guardrail so the harness fails loudly until #98 is fixed.
Goal
After the llvm PHPUnit stage, parse summary output (or use --log-junit to a temp file) and exit non-zero if:
LLVM library was found at start, and
JIT compliance tests show 0 executed (or 100% skipped)
Implementation hints
Option A: vendor/bin/phpunit --group llvm --log-junit /tmp/llvm.xml then small PHP script counting <testcase> vs skipped in test/compliance/JITTest.php namespace.
Option B: grep PHPUnit summary line OK, but incomplete, skipped, or risky tests! combined with executed count — fragile; prefer JUnit XML.
Skip guard when PHP_COMPILER_ALLOW_JIT_SKIP=1 (document for broken dev envs).
With a deliberately broken LD_LIBRARY_PATH, ci-local.sh exits non-zero and prints actionable fix (set PHP_COMPILER_LLVM_PATH, check /opt/llvm9 in Docker).
With healthy Docker image (#237), guard passes when JIT tests execute.
Verification (local only)
make docker-build-22
docker run --rm -v "$(pwd):/compiler" -w /compiler php-compiler:22.04-dev ./script/ci-local.sh
Problem
script/ci-local.shprints whether LLVM 9 exists, then runs@group llvmtests — but it does not fail when the JIT compliance suite reports 133 skipped / 0 executed while.llvm/libLLVM-9.so.1is present. That lets JIT regressions ship while local CI appears “green.”Parent: #98 (fix root cause in
JITTest/ env). This issue adds a cheap guardrail so the harness fails loudly until #98 is fixed.Goal
After the llvm PHPUnit stage, parse summary output (or use
--log-junitto a temp file) and exit non-zero if:Implementation hints
vendor/bin/phpunit --group llvm --log-junit /tmp/llvm.xmlthen small PHP script counting<testcase>vsskippedintest/compliance/JITTest.phpnamespace.OK, but incomplete, skipped, or risky tests!combined with executed count — fragile; prefer JUnit XML.PHP_COMPILER_ALLOW_JIT_SKIP=1(document for broken dev envs).Acceptance criteria
With a deliberately broken
LD_LIBRARY_PATH,ci-local.shexits non-zero and prints actionable fix (setPHP_COMPILER_LLVM_PATH, check/opt/llvm9in Docker).With healthy Docker image (#237), guard passes when JIT tests execute.
Verification (local only)
make docker-build-22 docker run --rm -v "$(pwd):/compiler" -w /compiler php-compiler:22.04-dev ./script/ci-local.shDo not require GitHub Actions.
Related