Repository navigation
ci: run on GitHub's hosted runners, as a public repository - #21
Merged
Merged
Conversation
The repository is public, so GitHub does not meter its Actions minutes and a fork's pull request must never reach the maintainer's lab runner. Every job now runs on ubuntu-latest; the CI_RUNNER expressions, the fork-gated fallback, the lab-only Docker Compose install action and the fork-approval guidance that only mattered with a self-hosted runner are gone. The workflow test asserts the new shape and fails if a runs-on expression, a runner variable, a self-hosted label or a local action comes back.
The review found the docs claiming that no self-hosted runner is registered for the repository, which is true only after the runner variable and the scale set are removed outside this change. Say instead that no workflow names one and that approval for outside contributors stays required until none is registered. The workflow test now collects .yaml files too, so a workflow by that extension cannot slip past it.
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.
Why
The repository is public. The owner's rule for public repositories (2026-10-13) is that CI runs on GitHub's hosted runners with no
CI_RUNNERgate and no lab scale set: GitHub does not meter Actions minutes for public repositories, and a stranger's pull request must never reach the lab's self-hosted runners. PR #20 added the lab routing before that rule existed; this reverses it.What changed
.github/workflows/tests.yml,.github/workflows/model-smoke.yml: every job isruns-on: ubuntu-latest; the fork-gatedvars.CI_RUNNER || 'ubuntu-latest'expressions and the lab-runner comments are gone;BENCH_RUNNERis the plain stringGitHub-hosted ubuntu-latest..github/actions/compose/deleted and itsuses:steps and path filter removed: GitHub's runner images ship the Docker Compose v2 plugin, so the pinned install only served the lab image.tests/python/test_workflows.pyasserts the new shape and fails if aruns-onexpression, a runner variable, a self-hosted label, a bare runner label or a local action under.github/actionscomes back. It now collects*.yamlworkflows as well as*.yml.README.md,docs/testing.md(CI runners),docs/security.md: CI runs on GitHub's hosted runners because the repository is public; the lab-runner sizing and the Compose install notes are gone.actions/checkoutstays hash-pinned withpersist-credentials: false.Tests run
docker compose -f docker/compose.yaml run --rm --no-deps python-tests: 127 tests OK (128 before: four compose-action tests removed, three runner-shape tests added).tests.yml: the new test fails for${{ vars.CI_RUNNER || 'ubuntu-latest' }},[self-hosted, linux], a barelab-php-python-ai-bridgelabel and a reinserted compose action step, and passes unchanged.Real model smoke testsalso gets a manual run on the branch.Review
Independent review of d9ba43b. Blocking: the docs claimed that no self-hosted runner is registered for the repository and that no fork approval policy remains to keep, which only holds once the runner variable and the ARC scale set are removed outside this PR; fixed in bbbadba, which says no workflow names one and keeps the approval advice until none is registered. Non-blocking: the test did not collect
*.yamlworkflows (fixed in the same commit, the guard depends on it); theself-hostedregex and the ban on any.github/actionsdirectory are broader than the rule (filed as an issue).After the merge (owner's steps)
gh variable delete CI_RUNNER -R cristiangirlea/php-python-ai-bridgephp-python-ai-bridgefrom the runner repos (REPOSin config.mk,ci_runner_reposin tofu) togithub_hosted_repos, as for harness (infra#57) and adanext-os (infra#61), in its own branch and PR.Until step 2 is done, the fork approval setting for outside contributors stays as it is.