Skip to content

CI: publish release only after all assets are attached - #8

Merged
AldhairMedico merged 1 commit into
mainfrom
fix-release-draft-publish
Jul 8, 2026
Merged

CI: publish release only after all assets are attached#8
AldhairMedico merged 1 commit into
mainfrom
fix-release-draft-publish

Conversation

@AldhairMedico

@AldhairMedico AldhairMedico commented Jul 8, 2026

Copy link
Copy Markdown
Collaborator

Problem

create_release.yml publishes the GitHub release immediately (draft: false), then the separate, slower add_submodules job builds and uploads teloscope.v<version>-with_submodules.zip.

Bioconda's autobump bot polls for new releases and downloads that asset to compute the recipe sha256. If it polls during the window before the submodule-zip upload finishes, the asset 404s and the bump lands with a bad/missing hash — which is why several version bumps have needed the sha256 corrected by hand.

Fix

Draft-then-publish:

  1. create_release now creates the release as a draft (draft: true).
  2. A new publish_release job (needs: [add_resources, add_submodules]) flips it to published (draft: false) only after every asset is attached.

The upload jobs are unchanged: they find the draft release by tag and append files to it, and — because they don't pass a draft: input — leave the draft status untouched. So the release (and its download URLs) becomes visible to the autobump bot atomically, with -with_submodules.zip already present.

The asset name pattern teloscope.v<version>-with_submodules.zip is unchanged (the Bioconda recipe URL depends on it).

Create the GitHub release as a draft and add a publish_release job that
flips it to published once add_resources and add_submodules finish. This
makes the release (and its download URLs) appear atomically.

Previously the release published immediately while the slow
teloscope.v<version>-with_submodules.zip upload ran afterward. Bioconda's
autobump bot downloads that asset to compute the recipe sha256, so it could
poll during the gap, 404, and land a bad/missing hash — the recurring
"manual sha fix" problem.
@AldhairMedico
AldhairMedico force-pushed the fix-release-draft-publish branch from c1fcf4e to 10ba611 Compare July 8, 2026 16:48
@AldhairMedico
AldhairMedico merged commit 526d0b9 into main Jul 8, 2026
12 checks passed
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