Skip to content

ci: run the engine's CI on the GCP fleet (pf-gcp-pr / pf-gcp-main), fork-gated - #474

Merged
luisleo526 merged 1 commit into
mainfrom
ci/ci2a-gcp-engine-fleet
Oct 21, 2026
Merged

luisleo526 merged 1 commit into
mainfrom
ci/ci2a-gcp-engine-fleet

Conversation

@luisleo526

Copy link
Copy Markdown
Collaborator

Owner orders (laneboss #1056/#1057; engine channel 「趕快切過去」): engine CI runs
on the fixed GCP fleet. authz and every non-release job use
["self-hosted","pf-gcp-pr"] on every ref; release.yml release, the
linux-x86_64 prebuilt slice and notify-hub, and promote-baseline's promote use
["self-hosted","pf-gcp-main"]. macOS and arm legs stay hosted.

One commit with the tree of PR #472's head 7adc4ec (0de8e9d, 643af69,
debbc06, 2e7bc1a, b816635, 7adc4ec), so the doc-reverts gate judges the
docs/ci.md rewrite with a message that names it:

  • The CI-routing sentences of docs/ci.md introduced by 21ba62b (the pf-ci
    pool canon: pf-ci-x64 / pf-ci-x64-16 / pf-ci-crj, PF_CI_LABELS matching,
    pf-ci-release reservation, REL-HOSTED = B, the legacy corpus expression and
    the remaining hosted routes) are replaced by the fleet routing above.
  • The routing sentence introduced by 03b2406 is replaced the same way, and the
    interim sentences b816635 added are folded into the final text.

Also: the linux-x86_64 prebuilt slice skips the sudo apt Eigen step on
pf-gcp-main (Eigen 3.4.0 is baked into its Ubuntu 22.04 image) and fails
closed if Eigen is missing; actionlint declares both fleet labels; preflight
pins the routing with refusal tests; corpus-parity.yml and docs.yml get the
canonical authz job with needs: [authz] on every other job (owner CI-FORK:
fork PRs run no CI, no hosted fallback); docs build moves to pf-gcp-pr.

Replaces #472: same tree (10809b3756), one commit, so the doc-reverts gate names the docs/ci.md rewrite (#472 preflight failed only on that: 19 unnamed deletions from 21ba62b/03b2406/b816635). On #472 the fleet already ran green: authz, corpus-parity full + subset, kernel-only, build Release + Debug, sanitizers, native-live x3, macOS.


Security commit 7adc4ec (fork-PR gate; owner CI-FORK: outsider fork PRs run NO CI, no hosted fallback). corpus-parity.yml and docs.yml now start with the canonical authz job (byte-identical to ci.yml's), and every other job in them needs: [authz]; docs.yml build moves to ["self-hosted","pf-gcp-pr"]. Preflight pins it (gated_workflow_findings()), with 11 new refusal tests (none deleted).

Sweep of every engine job reachable from pull_request / pull_request_target / workflow_run:

workflow jobs gated by authz changed here
ci.yml authz, changes, preflight, build, sanitizers, kernel-only, native-live, corpus-parity-subset, build-gate yes (all need authz) runs-on only
corpus-parity.yml corpus-parity, corpus-parity-subset yes YES: authz added (was ungated)
docs.yml build yes YES: authz added + moved to the fleet (was ungated, hosted)
native-live.yml native-live, gate yes (no direct PR trigger) runs-on only
release.yml release, prebuilt, notify-hub n/a (workflow_dispatch only) runs-on + Eigen step
promote-baseline.yml promote n/a: pull_request_target, runs main's own copy and checks out no PR code runs-on only; NOTE: the fleet's JOB_STARTED hook refuses pull_request_target, so promote must use workflow_dispatch until CR-231 (#470) moves its trigger

🤖 Generated with Claude Code

…ork-gated

Owner orders (laneboss #1056/#1057; engine channel 「趕快切過去」): engine CI runs
on the fixed GCP fleet. authz and every non-release job use
["self-hosted","pf-gcp-pr"] on every ref; release.yml release, the
linux-x86_64 prebuilt slice and notify-hub, and promote-baseline's promote use
["self-hosted","pf-gcp-main"]. macOS and arm legs stay hosted.

One commit with the tree of PR #472's head 7adc4ec (0de8e9d, 643af69,
debbc06, 2e7bc1a, b816635, 7adc4ec), so the doc-reverts gate judges the
docs/ci.md rewrite with a message that names it:

- The CI-routing sentences of docs/ci.md introduced by 21ba62b (the pf-ci
  pool canon: pf-ci-x64 / pf-ci-x64-16 / pf-ci-crj, PF_CI_LABELS matching,
  pf-ci-release reservation, REL-HOSTED = B, the legacy corpus expression and
  the remaining hosted routes) are replaced by the fleet routing above.
- The routing sentence introduced by 03b2406 is replaced the same way, and the
  interim sentences b816635 added are folded into the final text.

Also: the linux-x86_64 prebuilt slice skips the sudo apt Eigen step on
pf-gcp-main (Eigen 3.4.0 is baked into its Ubuntu 22.04 image) and fails
closed if Eigen is missing; actionlint declares both fleet labels; preflight
pins the routing with refusal tests; corpus-parity.yml and docs.yml get the
canonical authz job with needs: [authz] on every other job (owner CI-FORK:
fork PRs run no CI, no hosted fallback); docs build moves to pf-gcp-pr.

Co-Authored-By: Claude Opus 5.5 (1M context) <[email protected]>
@luisleo526
luisleo526 merged commit a8089b2 into main Oct 21, 2026
26 checks passed
luisleo526 added a commit that referenced this pull request Oct 22, 2026
…, squash of #477) (#480)

One tree-identical squash of the CR-233 branch (PR #477), on engine main 20267dd, so that the doc-reverts gate judges the change once, against main, with this message. It replaces the branch's eleven commits (f82ef8a, 0d63b1b, b4a98a4, cfda278, 9f33e1b, a merge of main, 64137d8, ab12867, 60bcfe2c, 8c2386ed and the control test 077d3ebb); the branch is kept as ci/cr233-pr-split-r2.

What changes:
- ci.yml keeps only the PR wall (authz, changes, preflight, Release/Debug build, corpus-parity-subset, build-gate); the full-event jobs (preflight-slow, macOS build, sanitizers, kernel-only, native-live, full corpus parity) move to ci-post.yml on pf-gcp-post; docs build/deploy split into docs.yml and docs-post.yml; corpus-parity-subset becomes its own workflow.
- scripts/ci_preflight.py, its tests and docs/ci.md follow the split (runner contract, PR vs post aggregates, PR_PROOF_JOBS, PR fast rows).
- scripts/check_two_world_registration.py models a parenthesised boolean group and get_test_property (property reads bind NOTFOUND); tests/CMakeLists.txt carries the PR-fast-rows guard; control tests 21 and 22 cover both.

doc-reverts: docs/ci.md rewords or drops sentences introduced by earlier commits on main. They are named here: a8089b2 (the GCP fleet routing, #474), 21ba62b (native-live and the Ubuntu Debug leg as pool-only checks, #464), 03b2406 (release jobs on pf-ci-release, #461), 3c19a69 (Linux x64 jobs on the pf-ci-spot pool, #420), 133f571 (1.0 prep, docs-only CI skip, #303), d3cca9e (docs: migration semantics, publication guards), eed6598 (defer macOS Debug from pull requests, CR-195, #454). Each deleted sentence is superseded by the PR/post split described above; none is a silent revert.

Proof: the previous head of this tree failed CLOUD proof rj-20261021t210656-9f91b8 on the causes fixed here (get_test_property unmodelled in the two-world walk, a stale macOS anchor, a stale aggregate lane list); this commit has not been run by its author, the next CLOUD proof is its first run.

Co-authored-by: Claude Sonnet 5.5 <[email protected]>
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.

1 participant