Repository navigation
ci: run Linux x64 jobs on the pf-ci-spot pool - #420
Merged
Merged
Conversation
Replace the CR-170 standard-only runner contract with the public and engine-x64-16 fragments, including fork and untrusted-event fallback. Require one matching PF_CI_LABELS string at job scope; pin the Linux-only build and release matrix routing and the unchanged hosted legs. Retain larger-runner, timeout, core-count and reusable-workflow guards. Update mutation and stage tests for missing, duplicate and incorrect PF_CI_LABELS, wrong label lists, unsafe fragment changes, paid labels and hosted exceptions. No tests, builds, linters or verification scripts run locally under the executor no-run rule.
Supersede the stopgap sentences from 3484a7c, squash-merged as 693fd9e (#415, CR-170). Reword the runner-selection and timing assumptions from d093560 (#290) and the documentation-only runner sentence from 133f571 (#308); preserve the platform limits from 2394ba2 (#373). Record the 2026-10-18 live-pool bulletin, exact fragment and environment labels, class allocation, actor allowlist, hosted matrix legs and event fallbacks. Keep historical timings separate from unmeasured pool performance. No local verification run under the executor no-run rule.
Apply the L6 production-credential ruling to Cloudflare docs deployment, baseline promotion and every release job. Restore all three workflow files byte-for-byte from origin/main, including their original hosted labels, and remove pool environment labels. No steps, permissions, timeouts or matrix populations change. No tests, builds, linters, preflight, corpus verification or workflows run locally under the executor no-run rule. Nothing pushed.
Match the current pf-ci-spot public and engine-x64-16 fragments from bulletin #635. Change the hosted fallback to ubuntu-24.04 for all ten pool job definitions and preserve their matching PF_CI_LABELS, actor checks, fork protection and macOS routing. No tests, builds, linters, preflight, corpus verification or workflows run locally under the executor no-run rule. Nothing pushed.
Pin the b240f6d7 expressions and original hosted release/deployment routes. Detect non-GITHUB_TOKEN secrets, inherited workflow environment secrets, job or workflow OIDC write permissions and deployment environments. Require hosted routing without PF_CI_LABELS for credentials and current fragments with matching labels for other Linux x64 jobs. Preserve the larger-runner, timeout and core-count guards. Add must-fail credential and old-fallback cases and a must-pass case for the current hosted release workflow. No tests, builds, linters, preflight, corpus verification or workflows run locally under the executor no-run rule. Nothing pushed.
Reword the pool-allocation, release/deploy routing and fallback sentences introduced by 28fe3466a and carried into f9bee22. Cite pf-ci-spot b240f6d7 and bulletin #635, retain the Dependabot and historical policy references, and explain the exact original hosted labels and updated preflight contract. No tests, builds, linters, preflight, corpus verification or workflows run locally under the executor no-run rule. Nothing pushed.
An unanchored four-space env search matched the tail of step-level env in promotion and release jobs, so the negative fixture never put PF_CI_LABELS in the job environment. Anchor the env and steps keys to complete job-level lines in both label fixture builders. Assert the injected label at job scope and require the exact hosted-job diagnostic. Keep the existing hosted release baseline and the production guard unchanged. No tests, builds, linters or verification scripts run locally under the executor no-run rule. Nothing pushed.
luisleo526
added a commit
that referenced
this pull request
Oct 19, 2026
Brings in the three CI-only commits that landed after the 1.6.1 final (#415, #420, #439): workflows, docs/ci.md and ci_preflight. No file of this branch's eight is touched by them; the merge is clean and changes none of the EN-115 declaration, its tests or its prose. A merge commit on purpose: the branch is pushed, so its history is not rewritten. Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
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]>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
CR-171 (CORE-TOP). The pf-ci-spot pool is live (bulletin #613); the engine is in runner group 6 with the large class allowed.
workflows/engine-x64-16.ymlfragment verbatim. Light jobs (preflight, changes, docs and the rest) useworkflows/public.yml. Both are at pf-ci-spot 1fe46216, the version where dependabot stays hosted, and every moved job getsPF_CI_LABELS(15 jobs).macos-26. Fork PRs,pull_request_targetand dependabot fall back toubuntu-latestthrough the fragment's own condition.scripts/ci_preflight.py: the CI contract from ci: run every job on the standard runners (cost stop until ci-spot) #415 ("standard runners only") becomes "pf-ci-spot fragments only". A Linux x64 job must carry exactly one of the two fragment expressions plus a matchingPF_CI_LABELS. GitHub larger-runner labels stay refused.scripts/test_ci_preflight.py: must-fail cases for a missingPF_CI_LABELS, a wrong label list, a larger-runner label and the pre-1fe46216 expression without the dependabot condition.docs/ci.md: updated to match.Gates: lab proof, then
lab verify recordandlab verify parity. The first run of this PR is the engine's first real run on the pool.🤖 Generated with Claude Code