Skip to content

Push only the release tag in make release; check release packages - #1780

Merged
mvdbeek merged 3 commits into
galaxyproject:masterfrom
jmchilton:release_process_polish
Nov 7, 2026
Merged

mvdbeek merged 3 commits into
galaxyproject:masterfrom
jmchilton:release_process_polish

Conversation

@jmchilton

Copy link
Copy Markdown
Member

Fixes two problems hit while releasing 0.75.48, plus small changelog-step polish.

  • Stray tags / no PyPI publish. push-release ran git push --tags, sending every local tag upstream. GitHub fires no tag events when more than three tags are pushed at once, so the 0.75.48 Deploy workflow never ran (the tag had to be re-pushed alone). It now runs git push --atomic $(UPSTREAM) master refs/tags/$(VERSION). VERSION is evaluated once so the bump from new-version doesn't change the tag pushed.
  • twine checked the wrong packages. check-dist ran after new-version, so it built and checked the next .dev0. It now runs between commit-version and new-version.
  • make release now runs check-release first.
  • make add-history appends link targets for first-time contributors; missing targets break the HISTORY RST and twine check.
  • Docs and the ready-release skill: set GH_TOKEN for add-history, merge generated entries that duplicate hand-written ones, catch up if upstream master moves before release.

Testing

  • Ran make release in scratch clones against a local bare upstream, with four extra local tags. With the old Makefile, every local tag was pushed and twine check ran on 0.75.50.dev0. With the new one, only master and 0.75.49 were pushed and twine check ran on 0.75.49.
  • Exercised add_contributor_targets through main with a stubbed generate_acknowledgements: a new login gets one target, an existing one isn't duplicated, and the result parses cleanly with docutils. The same check fails against master's script.
  • make lint passes.

🤖 Generated with Claude Code

jmchilton and others added 3 commits November 5, 2026 10:53
push-release used `git push --tags`, sending every local tag upstream.
GitHub fires no tag events when more than three tags are pushed at once,
so for 0.75.48 the Deploy workflow never ran. Push master and the release
tag atomically, freezing VERSION so new-version's bump doesn't change it.

check-dist ran after new-version, so twine checked the next .dev0
packages; run it right after commit-version. Run check-release first.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
add-history now appends link targets for first-time contributors, which
otherwise break the RST. Document GH_TOKEN for add-history, merging
duplicate entries, and catching up if upstream moves before release.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- Compute VERSION on first use instead of at parse time, so targets that
  don't need it no longer run print_version_for_release.py (which printed
  a traceback when system python3 lacks packaging). Run it in the venv.
- check-release: require master, require it to contain UPSTREAM master,
  and run check-dist so README/HISTORY RST errors fail before the tag.
- .NOTPARALLEL so make -j can't tag or push before check-release finishes.
- Document recovery when make release fails after tagging.
- bootstrap_history.py prNNNN also adds contributor link targets.

@mvdbeek mvdbeek left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you! Added a minor enhancement, hope that's ok

@mvdbeek
mvdbeek merged commit 6b544e5 into galaxyproject:master Nov 7, 2026
15 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.

2 participants