Skip to content

ci: allow the main nightly bootstrap in the fleet runner guard - #30088

Merged
teamleaderleo merged 2 commits into
mainfrom
lane/nightly-bootstrap-policy
Nov 1, 2026
Merged

teamleaderleo merged 2 commits into
mainfrom
lane/nightly-bootstrap-policy

Conversation

@teamleaderleo

Copy link
Copy Markdown
Collaborator

The fleet runner guard rejects the approved main-only metadata bootstrap in #30058. Accept its exact selector only for nightly.yml's decide job, with main and repository-owner checks intact. The exception refuses untrusted triggers, environments, secret-bearing jobs, YAML aliases, and any additional runner fallback. RC, fork, and branch dogfood routing stays under the existing policy. This PR changes no workflow.

Leo: “FOR OUR NIGHTLIES ARE THEY END TO END ON OUR FLEET? WE CAN'T BE RELYING ON BLACKSMITH THAT CUTS OUT”.

Prior art: #30058 owns the workflow change. #26685 removed broad nightly hosted-runner exemptions; #27648 preserves the secret-bearing job boundary; #27129 keeps owned routing distinct from ephemeral runner pools; #26398 makes every guard finding independently visible. This exception is limited to the bootstrap's approved job and exact route.

Risk: CI policy scope. The exception is bound to the parsed job's scalar source line, and malformed/aliased or broader selectors remain rejected. It grants no secret or App-key exemption.

Observed / Not run

python3 -B tests/test_runner_label_policy.py MainNightlyBootstrapGuard failed the approved-route test at 4336656 and passes after the fix. Full runner-label policy: 37 tests pass. Fork/secret routing: 24 pass. Guard isolation: 8 pass. The complete shell runner guard passes; the actual #30058 workflow at 6938f4f also passes the repaired guard fixture. Bash syntax and diff whitespace checks pass. No application or runner behavior changes, so no app compilation or live nightly was run.

Changelog

none

🤖 Generated with Claude Code

Agent session: agent session

@teamleaderleo

Copy link
Copy Markdown
Collaborator Author

Review (codex gpt-6.1-sol high): SHIP at 36da3fb

Exact selector exemption is bound to nightly.yml decide's runs-on source line, the main-only ref and owner guard, and trusted events. It rejects job/top-level secrets, environments, aliases and duplicate keys. Other scanner filtering remains active. No blocking regression, security problem or base break found. Reviewer ran MainNightlyBootstrapGuard (4 tests), bash syntax and diff --check. Implementer ran policy37, fork24, isolation8 and the complete shell runner guard on final head, all passed. Actual #30058 workflow fixture also passes.

@github-actions

github-actions Bot commented Nov 1, 2026

Copy link
Copy Markdown
Contributor

All contributors have signed the CLA ✍️ ✅
Posted by the CLA Assistant Lite bot.

@teamleaderleo
teamleaderleo merged commit afd6fa3 into main Nov 1, 2026
38 checks passed
@teamleaderleo
teamleaderleo deleted the lane/nightly-bootstrap-policy branch November 1, 2026 03:37
@github-actions

github-actions Bot commented Nov 1, 2026

Copy link
Copy Markdown
Contributor

cmux status (one comment, edited in place; each line is updated by the job that owns it)

Merge receipt for 36da3fb5c5, merged 2026-11-01 03:37:27 UTC

  • Not verified at merge: ci-status (not reported)
  • Verified: backend migrations applied, CI fast guards, Fast static checks, guards (7), merge freeze, plan, web-validation
  • Skipped by policy: apply-production, apply-staging, browser, Claude wrapper regressions, close lapsed freezes, Dogfood build #​${{ github.event.pull_request.number }}, GhosttyKit release check, linux-preflight, macos, macOS admission gate, remote-daemon, suite-coverage, and 5 more
  • Full suite: runs on main after merge.

Labeled merged-unverified: if main breaks near this merge, look here first.

@github-actions github-actions Bot added the merged-unverified A judging check was not green at merge; see the merge receipt comment label Nov 1, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

merged-unverified A judging check was not green at merge; see the merge receipt comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant