Skip to content

CI: fail ci-local.sh when LLVM present but JIT compliance 100% skipped#255

Merged
PurHur merged 1 commit into
masterfrom
issue-250-jit-compliance-guard
May 19, 2026
Merged

CI: fail ci-local.sh when LLVM present but JIT compliance 100% skipped#255
PurHur merged 1 commit into
masterfrom
issue-250-jit-compliance-guard

Conversation

@PurHur
Copy link
Copy Markdown
Owner

@PurHur PurHur commented May 19, 2026

Summary

  • After the @group llvm PHPUnit stage, script/ci-local.sh writes JUnit XML and runs script/check-jit-compliance-ran.php.
  • CI exits non-zero when libLLVM-9.so.1 exists but all JITTest cases were skipped (PHPUnit still reports exit 0 for “OK, but incomplete”).
  • Documents PHP_COMPILER_ALLOW_JIT_SKIP=1 override in README.
  • Refreshes docs/bootstrap-inventory.md (stale vs current tree; required for bootstrap-inventory.php --check in Docker CI).

Closes #250. Related: #98 (root JIT loader fix), #245 (CI matrix doc).

Test plan

  • Healthy Docker (php-compiler:22.04-dev): check-jit-compliance-ran.php reports “167 of 167 JIT tests executed”.
  • Broken LD_LIBRARY_PATH=/nonexistent: guard exits 1 with actionable message; PHPUnit exit 0 with 167 skipped.
  • PHP_COMPILER_ALLOW_JIT_SKIP=1 skips the guard (documented).
  • ./script/docker-ci-local.sh bootstrap + llvm guard path exercised via tar fallback (harness bind-mount empty).
make docker-build-22
docker run --rm -v "$(pwd):/compiler" -w /compiler php-compiler:22.04-dev ./script/ci-local.sh
# or: ./script/docker-ci-local.sh

Made with Cursor

After the @group llvm PHPUnit stage, parse JUnit XML and exit non-zero if
JITTest ran zero tests while libLLVM-9.so.1 exists. Override with
PHP_COMPILER_ALLOW_JIT_SKIP=1 for broken dev environments.

Closes #250

Co-authored-by: Cursor <cursoragent@cursor.com>
@PurHur PurHur merged commit 3ca35f2 into master May 19, 2026
1 check failed
@PurHur PurHur deleted the issue-250-jit-compliance-guard branch May 19, 2026 10:14
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

CI: ci-local.sh fail when LLVM present but JIT compliance 100% skipped

1 participant