Proposal: use the release structure we already have (nightly for testing, rc that means frozen) #394
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#394
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
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?
We already built the right release structure: a signed nightly for every merge, installable from the launcher, plus rc and stable channels. We are not running it as designed. Our tests don't gate merges, every merge waits on one maintainer, and our release candidates are snapshots rather than frozen builds. Fix those three things and nightly becomes the testing channel we keep trying to invent. The urge to ship fast is healthy; nightly is where it belongs.
This doesn't argue against pull request builds. It argues that they shouldn't be our main testing path, and that most of the need they answer goes away once the structure we have works.
Where we are
Testing before merge mostly doesn't happen, and nothing automated stops a broken merge. Figures are from Longshot's Forgejo, the release list and the Matrix rooms, as of 14 Nov. The chat counts are parsed from messages, so treat them as approximate.
This is a habit carried over from Hookshot, not something new. Hookshot tagged v2.0.8-rc.1 to rc.5 in six hours, and v2.1.0 stable 37 minutes after its rc.1.
The channels: designed right, run wrong
Our own docs already describe the standard model, the one Firefox, Chrome and Dolphin use. Everything lands on the main branch, every merge is an installable build, and volunteers run it. Release candidates are cut deliberately, held while they're tested, then promoted unchanged.
None of this needs new ideas. It needs us to run what we wrote.
Three asks
Each ask depends on the one before it, so the order matters.
tests/run_all.py).release.yml, signing,release_keys.json,tools.lock, sign-in scripts) still need a maintainer.testing wantedrequest stays open after merge and names the first nightly that contains the change. Testers switch the launcher to nightly; nobody builds from source.release.ymlgets a timeout or cancel guard, so one failed run can't hold nightlies for hours again.Where pull request builds fit
Issue 337 and its PRs (Longshot 353, LongshotLauncher 59) start from a real problem: testing a PR means building it from source. Once merges reach nightly within hours of approval, most of that problem is gone. The rest is better served by building on nightly.
Open questions
Sources
drcrow referenced this issue2026-11-14 11:49:53 +00:00