Skip to content

fix(release): keep the release drafted until every platform has uploaded - #20

Merged
MotherSphere merged 1 commit into
mainfrom
fix/release-keep-the-draft
Sep 2, 2026
Merged

fix(release): keep the release drafted until every platform has uploaded#20
MotherSphere merged 1 commit into
mainfrom
fix/release-keep-the-draft

Conversation

@MotherSphere

Copy link
Copy Markdown
Member

softprops/action-gh-release defaults draft to false, and it updates the release it targets rather than only adding files to it. So the first platform to finish undoes the draft-hold set two jobs earlier, and every platform after it uploads into a release that is already at /releases/latest.

v0.3.1 went out exactly that way: published carrying Linux and macOS while the Windows build was still compiling. For that window Colony offered an update that Windows users could not install — which is precisely the harm the draft-hold exists to prevent, undone by the very next job.

This is separate from #18. That one fixed gh dying without -R, which is why v0.3.0 had no assets. This one is why v0.3.1 was visible before it was complete. Both had to be wrong for the release path to look like it worked.

The canonical template in Project-Colony-Resources already passes draft: true here — Grape's copy predates that and had drifted. The rest of the drift is Grape's own and stays: the release-please config-file/manifest-file, the ALSA build dependencies, and a newer rust-cache pin.

publish remains what makes a release visible, after it has verified every asset and signature is present.


Still worth doing separately: Grape has no workflow_dispatch, so a release that fails after its tag exists cannot be finished — v0.3.0 is stuck empty for that reason. The template now carries that recovery path (Resources#4); adopting it here is a larger change than this one-line fix and deserves its own review.

softprops/action-gh-release defaults `draft` to false and updates the release
it targets rather than only adding files to it. So the first platform to
finish undid the draft-hold set two jobs earlier, and every platform after it
uploaded into a release that was already at /releases/latest.

v0.3.1 went out exactly that way: published carrying Linux and macOS while the
Windows build was still compiling. For that window Colony offered an update
that Windows users could not install — which is the harm the draft-hold exists
to prevent, and it was being undone by the very next job.

The canonical template in Project-Colony-Resources already passes `draft:
true` here. Grape's copy predates that and had drifted; the rest of the drift
is Grape's own — its release-please config-file, the ALSA build deps and a
newer rust-cache pin — and stays.

`publish` remains what makes a release visible, after it has verified every
asset and signature is present.
@MotherSphere
MotherSphere merged commit 7c3f010 into main Sep 2, 2026
8 checks passed
@MotherSphere
MotherSphere deleted the fix/release-keep-the-draft branch September 2, 2026 11:06
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant