Skip to content

CI: THROWSWEB_AOT_LINK_GATE opt-in wiring audit in ci-local llvm tail #2178

Description

@PurHur

Problem

#2101 tracks the full 007 AOT gate ladder; #2143 adds ExamplesCompileTest::test007ThrowsWebAotLink. On master, ci_run_aot_link_phpunit already honors THROWSWEB_AOT_LINK_GATE, but there is no dedicated opt-in issue documenting the llvm-tail placement, doctor rows, and default-on follow-up (#2135) — unlike 006 (#2011 opt-in → default) or compiler_driver (#2137).

Contributors enabling THROWSWEB_AOT_LINK_GATE=1 manually may miss that execute still requires #2157 before #2135 flips both gates.

Goal

  1. Document llvm-tail order in docs/local-ci-matrix.md (link → execute groups; mirror 006 table)
  2. Ensure lib/Doctor.php --gates prints link/execute defaults and blockers (DevEx: phpc doctor --gates — 007 ThrowsWeb ladder rows #2102 companion)
  3. Add test/unit/CiScriptsTest.php assertion that ci-local.sh calls ci_run_aot_link_phpunit before ci_run_throws_web_aot_execute
  4. Close this issue when audit PR lands; CI: Default THROWSWEB_AOT_LINK_GATE + THROWSWEB_AOT_SMOKE_GATE in ci-local after #2101 #2135 remains the default-on flip after Language: AOT throw/catch with user-defined class (007 ValidationError execute) #2157

Acceptance criteria

THROWSWEB_AOT_LINK_GATE=1 ./script/docker-exec.sh -- bash -lc \
  'source script/php-env.sh && vendor/bin/phpunit --filter test007ThrowsWebAotLink'
# skips or passes per LLVM; must not skip because ci-local forgot wiring

./phpc doctor --gates | grep -i throwsweb
# shows link=0 execute=0 defaults and #2157 blocker note

Dependencies

Links

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions