Skip to content

ci: adopt the public-repository runner posture#348

Closed
kyle-sexton wants to merge 1 commit into
mainfrom
fix/runner-policy-public-visibility
Closed

ci: adopt the public-repository runner posture#348
kyle-sexton wants to merge 1 commit into
mainfrom
fix/runner-policy-public-visibility

Conversation

@kyle-sexton

Copy link
Copy Markdown
Contributor

Summary

The repository is now public. The runner-policy component forbids the local-runner selector on public repositories, so the previously green Runner policy check now fails on every PR (repository visibility evidence is public, but .github/runner-policy.json declares private), blocking the merge queue (#343 and everything after it).

  • .github/runner-policy.json: visibility: public, selfHostedCi: false (schema-forced pair)
  • All six workflows: remove the select-runner selector jobs and route every lane to GitHub-hosted ubuntu-24.04 (free on public repositories); reviewed reusables keep an explicit runner: input per the policy's runner-target contract
  • Drop now-dead selector guard conditions and prerequisite plumbing

Verified locally: node .github/standards/runner-policy/runner-policy.mjs --root . --repository-visibility public passes; actionlint clean.

Security posture: fork PRs can no longer reach self-hosted workers by construction (no selector in any workflow); org fork-PR approval policy is all_external_contributors.

No linked issue

Related

🤖 Generated with Claude Code

The repository went public, and the runner policy component forbids the
local-runner selector on public repositories (fork-PR exposure: workflow
code from forks must never route to self-hosted workers). Declare
visibility public with selfHostedCi false in .github/runner-policy.json,
remove every select-runner call, and pin all lanes to GitHub-hosted
ubuntu-24.04 (free on public repositories).

Co-authored-by: Claude Fable 5 (1M context) <noreply@anthropic.com>

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 2a3c7ec9dd

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread .github/runner-policy.json
@kyle-sexton

Copy link
Copy Markdown
Contributor Author

Closing as superseded by #349 (same seven-file public-posture conversion, currently green with review threads resolved), which additionally folds in #345's synced runner-policy contracts — required for the policy engine to pass at the 90f1c54 pins — and rewrites docs/CI-RUNNER-ROUTING.md for the new posture. Consolidating to one PR to avoid a merge race on the same files.

@kyle-sexton
kyle-sexton deleted the fix/runner-policy-public-visibility branch July 18, 2026 21:03
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