ci: release builds run only on runners labelled release #728
No reviewers
Labels
No labels
area/accessibility
area/audio
area/input
area/install
area/menu
area/renderer
area/saves
area/upscaling
beanstalk: approved @ 1697603
beanstalk: approved @ 2c5a62e
beanstalk: approved @ 4fd82b7
beanstalk: approved @ 64d6d09
beanstalk: approved @ 6f91fae
beanstalk: approved @ 70a78f9
beanstalk: approved @ 8d361dc
beanstalk: approved @ 9d8356e
beanstalk: approved @ abf2227
beanstalk: approved @ d82f202
beanstalk: approved @ e5f1e40
beanstalk: approved @ ee8ab5f
ci: approved
good first issue
gpu/amd
gpu/igpu
gpu/intel
gpu/nvidia
help wanted
kind
bug
kind
chore
kind
docs
kind
feature
kind
performance
kind
question
needs measurements
platform/linux
platform/macos
platform/steam-deck
platform/windows
preview
priority
critical
priority
high
priority
low
regression
status
blocked
status
confirmed
status
duplicate
status
invalid
status
needs-info
status
wontfix
testing wanted
ci: approved
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
MagicBeanDev/Longshot!728
Loading…
Reference in a new issue
No description provided.
Delete branch "HumanBean/Longshot:ci/release-runner"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Type: ci · Risk: low · Tested on: Linux (actionlint 1.7.12) · Needs: a
releaserunner onlineWhy
The release builds (an hour and more, 16 GB each) ask for the same runner labels as every pull request's checks, so they can land on any runner, and a runner meant for releases picks up CI too. This gives the release builds a label of their own,
release, so they only run on the runners kept for them and CI never takes those runners.What changed
The builder jobs ask for
releaseinstead ofubuntu-latest/ubuntu-24.04; The version and Sign and publish stay onquick. Nothing else in CI moves.build-linux.yml(appimage) andbuild-windows.yml(package,vulkan) run onrelease. They only run whenrelease.ymlcalls them or by Run workflow.docs/forgejo-runners.md: areleaserow in the label table (the builders' Docker and disk needs move to it), and a step for registering a release runner with that label only..forgejo/actionlint.yaml:releaseis a known self-hosted label.The launcher's The launcher, both systems build moves to
releasein MagicBeanDev/LongshotLauncher#83.Measurements
Verdict: nothing to measure: a workflow label change; actionlint passes on all workflows.
Flags and settings
None
Testing
Tested: actionlint 1.7.12 (the release CI pins, SHA-256 checked) with
.forgejo/actionlint.yamlon.forgejo/workflows/*.yml: no findings. A runner labelledreleaseonly is registered and online (charles-linux).Not tested: a release run on it; the next nightly after merge is the test.
Must be tested:
releaserunner (charles-linux): let the first nightly after merge run, expecting its Linux and Windows builder jobs to run on that runner and the nightly to publish (by hand: each job's page names its runner)Risks
What could break: a release, nightlies included, waits in the queue while no
releaserunner is online.Turning it off: revert the commit, or add
releaseto another runner's labels.Compatibility: Nothing changes
Checklist
Everyone
type(scope): description) of the status line's type.main.python -I -B tests/run_all.pypasses (any failure that also fails onmainis named). Left to CI.third_party/untouched (a new folder with aPROVENANCE.mdinstead).When it applies
Assisted-by:/Co-Authored-By:trailers.WIP: ci: release builds run only on runners labelled releaseto ci: release builds run only on runners labelled release