ci(release): a nightly for a commit main has moved past skips itself, so merges in a row build once #128
No reviewers
Labels
No labels
area/accessibility
area/audio
area/input
area/install
area/menu
area/renderer
area/saves
area/upscaling
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/steam-deck
platform/windows
preview
priority
critical
priority
high
priority
low
status
blocked
status
confirmed
status
duplicate
status
invalid
status
needs-info
status
wontfix
testing wanted
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
MagicBeanDev/Longshot!128
Loading…
Reference in a new issue
No description provided.
Delete branch "HumanBean/Longshot:ci/nightly-skip-outdated"
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?
Why
Every merge to main queued a full nightly release, and a few merges in a row built every one of them in turn (about 10 Longshot nightlies were queued at once on 2026-11-13). Only the newest one matters.
What changed
.forgejo/workflows/release.yml: on a push, The version compares the run's commit withorigin/main. If main has moved on, it notes that and gives no tag; linux, windows and publish then skip (if: needs.version.outputs.tag != '').release-<ref>,cancel-in-progress: false): Forgejo still runs one release at a time and queues the rest, so the nightly already running is never cancelled; a queued one that has become outdated finishes in seconds when its turn comes. Forgejo 17 has no "cancel only the queued runs" mode (only queue, or cancel everything including the running one).Flags and settings
None
Measurements
main:
341d63a4(2026-11-13)this PR: ci/nightly-skip-outdated @
e2cb389f341d63a4e2cb389f(From the workflow's logic; main's next merges will show it.)
Testing
Tested: actionlint (no new findings), and the tests that read the workflows.
Not tested: a run on the runner; the next merges to main will show it.
Needs other testers: None
Screenshots
Nothing on screen
Risk and rollback
If the check were wrong, a nightly would be skipped and the next merge builds. Reverting the commit is enough.
Checklist
For everyone
type(scope): description).main.python -I -B tests/run_all.pyrun and passing (any failure that also fails onmainis named above).third_party/untouched (a new folder with aPROVENANCE.mdinstead).