Repository navigation
ci: stage all workflows on isolated self-hosted runners - #2565
seonghobae wants to merge 48 commits into
Conversation
Retire the reverse-PR restack path and preserve the six dependency-review owner paths while recording protected main as the second parent.
|
Important Review skippedAuto reviews are disabled on base/target branches other than the default branch. Please check the settings in the CodeRabbit UI or the ⚙️ Run configuration
You can disable this status message by setting the Use the checkbox below for a quick retry:
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Historical circular-admission receipt — 2026-10-03
|
seonghobae
left a comment
There was a problem hiding this comment.
Exact-head review for cd49a60f1299fb8f7984de8d8ba223db673f7b84 (tree 5cbbaac086e19c94ac37abf2ca8a5914c88eac9b):
Blocking predecessor defect repaired: label-only cwlab-ci-isolated routing did not establish the runner access boundary. All 63 isolated selectors now require the dedicated CWL CI isolated group plus their existing labels; trusted-main groups and predicates are preserved. RED was reproduced before repair, focused contracts pass 42/42, all 38 workflows parse, git diff --check passes, and the complete suite passes 5,426 tests with 10 explicit skips and 40 subtests.
This is a COMMENT, not approval. Hosted jobs at this exact head fail before step execution (empty step lists and absent job logs) because verified group/capacity is still missing. Keep Draft/HOLD. Required next evidence is operator-created least-privilege group, disposable capacity and cleanup proof, canary, fresh exact-head required Checks, then eligible independent approval and ordinary protected merge.
seonghobae
left a comment
There was a problem hiding this comment.
Exact-head owner repair review (COMMENT, not approval). RCA: mixed matrices silently filtered macOS/Windows/ARM rows and returned success whenever one Ubuntu row remained. RED proved a mixed unsupported matrix exited 0; GREEN rejects the entire matrix if any row is outside the supported Ubuntu set, with the workflow copy kept byte-equivalent to the owner script. Offline warnings-fatal focused verification: 10 passed; compile and git diff --check passed. Exact-head CodeQL PR run 37887239686 is skipped and Repository Metadata Reconcile run 37887239528 is queued. Draft / Proposed / merge HOLD remains pending terminal required Checks and qualifying independent approval.
|
Stack ownership receipt for exact #2565 head |
|
Stack ownership receipt for exact #2565 head |
|
Stack ownership receipt for exact #2565 head |
Downstream stack receipt — #2603PR #2603 now non-force-stacks on this exact owner head
No shared runner-policy rollback remains in the downstream diff. |
Current authority addendum — exact head
|
|
Stack ownership receipt for exact #2565 head |
Downstream consumption receipts — exact head
|
Gyeot consumer admission gap — #2611 exact 87a371aRead-only integration identified two additive owner-policy requirements, not authority to provision or borrow a runner. The Gyeot reusable workflow selects CWL Gyeot CI AND [self-hosted, Linux, X64, gyeot-ci]. On previously inspected owner head 8d4a2eb, actionlint.yaml admits only cwlab-ci-isolated/cwlab-control; actionlint1.7.12 rejects gyeot-ci at workflow lines19/107. An invocation-only config adding exactly gyeot-ci passes; a deliberately unapproved label still fails. The static runner mapping in tests/test_all_self_hosted_runner_contract.py also lacks CWL Gyeot CI, so a label-only change is insufficient. Please carry the literal gyeot-ci label and explicit CWL Gyeot CI -> {gyeot-ci} group mapping through this existing owner lane, retaining unknown-group fail-closed tests and all existing groups/labels. This consumer has not edited either shared file and will compare against your new exact head ef65b2f before integration. The dedicated Gyeot group must NOT be substituted with CWL CI isolated or privileged control/review pools. Historical group9 has zero runners; syntax admission is not provisioning, current capacity, runtime isolation or canary evidence. No group/ACL/protection mutation or competing global workflow rewrite was made. |
Reviewed Gyeot admission follow-up publishedYour exact global owner head remains Please integrate the child through normal protected review when admissible. This is config/policy preparation only. Group9 still selects Gyeot alone with zero runners; no borrow/relabel/ACL change or runtime isolation/canary claim. The child remains Draft and no check skip is approval. |
Merge reviewed main 7554587 into the existing self-hosted transition branch. Keep trusted metadata and publishers separate from PR coverage execution; preserve literal auto review routing. Exact tree e0aba57 passed whole source review by the existing reviewer and full quality (5567 passed, 4 skipped, 40 subtests; coverage 100%).
Current exact-head security scanner isolation receipt — 2026-10-07
62c051bd2668cee351a1648aba3d8e72af774f20; tree43059a6fbdd174ed63e6f4612af512f364402ef9; parent98beb17c43072f7f749ac8641d23db044436c055.cc42969ba8ed4abeb1819412c146af2a9dadae8f→ GREEN26f993c0bbe88d50bf81473e31d179ad7b317657→ evidence98beb17c43072f7f749ac8641d23db044436c055→ full-baseline restore62c051bd2668cee351a1648aba3d8e72af774f20, each an ordinary one-parent fast-forward withforce=false; no rebase or Force Push.RCA → RED → GREEN
Security run
37242578328exposed two independent infrastructure false failures. Trivy job112314054734restoredtrivy-binary-v0.70.0-Linux-X64but then exited 127 withtrivy: command not found, so the heterogeneous isolated runner group may not reuse runner-local binary cache state. OSV job112314054619completed the base/head comparison with no PR-introduced finding and uploaded SARIF before the optional debug artifact failed because the GitHub artifact quota was exhausted.RED adds contracts for both boundaries and failed 2/2 on the prior source. GREEN disables only the Trivy binary cache and makes only OSV debug retention non-blocking; scanner, reporter, finding, and SARIF gates remain fail-closed.
Exact-tree executable evidence
GITHUB_ACTIONS=truegit diff --check, and clean worktree: GREENdocs/product-technical-gap-baseline.md(373,083 bytes; blobb50add6bef62fc4eb083a4a3e280e5c672995c51) and CHANGELOG carry the exact run/job/RCA/RED/GREEN receipt62c051bd…restored the complete document; remote and verified local trees now both equal43059a6f…Lifecycle
Draft / Proposed / merge HOLD. Fresh exact-head hosted Security/SAST/quality evidence, the isolated-capacity cleanup canary, zero unresolved review threads, and a qualifying independent approval remain required. This COMMENT/evidence is not approval. No blind rerun, runner relabeling, access expansion, bypass, auto-merge, or paid/model fallback is authorized.
Current exact-head provenance repair receipt — 2026-10-03
f0f7ed988fba5d94eda6513f35d171f23c4bd9a5; tree3a1407a8bd162566a291a2adef6c7b006a0884ad.665321c169500029ede42112a2aa72b994f1ce16adds the executable provenance contract; GREENf0f7ed988fba5d94eda6513f35d171f23c4bd9a5corrects both canonical receipts. Parent remains reviewed combined head650bc6e35409d52d24fec890c2ab74063794e9b8; Git Data publication usedforce=false. No rebase or Force Push occurred.ec7c1b58…. Both now name published two-parent merge650bc6e35409d52d24fec890c2ab74063794e9b8(tree9522f0b9c96247b3412e147bc6f89fd2595c0776) and its 53/53 focused / 5,437 passed, 10 skipped, 40 subtests historical receipt. The new contract requires both records to agree on a resolvable current-ancestry commit with exact parentscd2c3f97…and22902728….GITHUB_ACTIONS=true; Python compile,git diff --check, clean worktree, and exact tree match pass. The unavailable localruffexecutable was not treated as evidence.37120498641is Draft-skipped. Security37120498599, Metadata37120498646, SAST37120498634, Trusted uv37120498647, and Cloudflare37120498635failed before executable steps; every materialized failing job hassteps=nullandlogs_url=null. This confirms the absent isolated runner group/capacity admission blocker and does not authorize a blind rerun.Lifecycle: Draft / Proposed / merge HOLD. Missing
CWL CI isolatedgroup/capacity, disposable cleanup/canary proof, passing exact-head hosted Checks, and a qualifying independent approval still block ordinary merge. No runner relabeling, access expansion, bypass, auto-merge, source-neutral rerun, predecessor closure, or merge is authorized.Scope
User instruction: move this SDP workstream entirely to self-hosted runners. All 73 central job declarations retain dedicated control/CodeQL/OpenCode boundaries and replace every hosted fallback.
Blocking review finding and RCA
The predecessor exact head
d6ba56d04e22476b2ea41bfe7bb26e2cbc98f98fselected ordinary/non-main work with the mutablecwlab-ci-isolatedlabel alone, even though its rollout document correctly stated that a generic label does not attest separation. GitHub runner labels are routing metadata and GitHub does not validate that OS/architecture labels match the machine. A persistent or privileged runner with matching labels and repository access could therefore receive untrusted PR work.The repair scopes every affected direct, conditional, CodeQL and R-matrix selector through the dedicated
CWL CI isolatedrunner group and the existing platform/isolation labels. The group is the repository-access boundary; labels express required capability inside it. Trusted-main control/CodeQL/OpenCode groups and repository predicates are unchanged.Historical predecessor evidence —
cd49a60f1299fb8f7984de8d8ba223db673f7b84This section is retained for audit history and is superseded by the current exact-head receipt above.
test_isolated_label_is_scoped_to_dedicated_runner_groupfailed first at.github/workflows/actions-queue-health.ymlon the label-only selector.git diff --checkpassed.cd49a60f1299fb8f7984de8d8ba223db673f7b845cbbaac086e19c94ac37abf2ca8a5914c88eac9bd6ba56d04e22476b2ea41bfe7bb26e2cbc98f98f(ordinary one-parent fast-forward; no force push or rebase).Safety and rollout hold
DRAFT / HOLD. The retained organization inventory had no
cwlab-ci-isolatedcapacity and no verifiedCWL CI isolatedgroup/capacity record. Do not add a privileged runner to this group, relabel privileged runners, widen runner access, or merge until an authorized operator:CWL CI isolatedwith least-privilege repository access;Source configuration is not runtime activation. No credentials, production deployment, existing runner ACLs, protections, inference budgets or active model runs were changed. Model-backed workflows remain fixed to
orchestrator/free; no provider/model/group/paid fallback was added.Historical hosted evidence —
cd49a60f1299fb8f7984de8d8ba223db673f7b84This predecessor evidence is superseded by the fresh
cd2c3f9748e6bc50efd8bdfee9a385a74ec6e3barun receipt above.At
cd49a60f1299fb8f7984de8d8ba223db673f7b84, Cloudflare DNS, SAST Semgrep, Security Scan, Repository Metadata Reconcile and Trusted uv Materializer completed failure before any step existed; their job step lists are empty and job log blobs are absent. CodeQL PR was skipped. This was fail-closed pre-runner evidence consistent with the missing group/capacity prerequisite, not a passing runtime canary and not merge authorization. CodeRabbit status was success; no qualifying independent review or review threads existed.The PR must remain Draft/HOLD until capacity and fresh exact-head hosted evidence are available.