Repository navigation
Run CI on the fleet's local runners (Raspberry Pi arm64 pilot) when PM_LOCAL_RUNNER selects them - #31
Merged
Merged
Conversation
…M_LOCAL_RUNNER selects them With the repository variable PM_LOCAL_RUNNER=arm64 the Linux jobs (1) run on the fleet's ephemeral Raspberry Pi runners (label pm-local-arm64); with 'on' they run on the x64 LAN runners (pm-local); with anything else, on ubuntu-latest. Fork pull requests always stay on GitHub-hosted runners. A new push to a pull request cancels that PR's earlier run. Required check names are unchanged.
|
Important
This repository does not receive automatic reviews because it has fewer than 10 stars.
|
Reviewer's GuideConfigurationRoute Linux CI to the selected local runner label while keeping fork pull requests on GitHub-hosted runners.
Cancel superseded pull-request CI runs while keeping main-branch and manual runs in separate concurrency groups.
Tips and commandsInteracting with Sourcery
Customizing Your ExperienceAccess your dashboard to:
Getting Help
|
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.
Pilot for running a small repository's full CI on the fleet's Raspberry Pi 4 runners (arm64), which frees GitHub's shared 20-job pool. This repository's jobs take 2–6 min on GitHub-hosted runners.
Routing:
runs-onis an expression on the repository variablePM_LOCAL_RUNNER:arm64(set): Raspberry Pi runners, labelpm-local-arm64;on: the x64 LAN runners, labelpm-local;ubuntu-latest.The controller sets the variable from live capacity, and to
offwhen no host answers.Runners: each is a fresh container that takes one job (
--ephemeral), capped in CPU, memory and pids, with no Docker socket and no host mounts.Fork pull requests always use
ubuntu-latest, and workflows from outside contributors' fork PRs need approval.Concurrency: a new push cancels that PR's earlier CI run.
Required check names are unchanged. Related: unbraind/pm-memory#73 (x64 pilot).
Summary by Sourcery
Route trusted CI workloads to the selected ephemeral fleet runners while preserving safe fork handling and efficient pull-request concurrency.
New Features:
Enhancements:
Summary by cubic
Lets CI run on the fleet's local runners instead of GitHub's shared pool by choosing the runner from the
PM_LOCAL_RUNNERrepository variable. Witharm64, Linux jobs go to ephemeral Raspberry Pi runners (labelpm-local-arm64); withon, to the x64 LAN runners (pm-local); with anything else they stay onubuntu-latest. Fork pull requests always use GitHub-hosted runners, and a new push to a pull request now cancels that PR's earlier CI run rather than letting both queue. Required check names are unchanged.Written for commit 83c8901. Summary will update on new commits.