Skip to content

Document the actual release process - #764

Merged
anakinj merged 1 commit into
jwt:mainfrom
anakinj:fix-release-instructions
Sep 11, 2026
Merged

Document the actual release process#764
anakinj merged 1 commit into
jwt:mainfrom
anakinj:fix-release-instructions

Conversation

@anakinj

@anakinj anakinj commented Sep 11, 2026

Copy link
Copy Markdown
Member

CONTRIBUTING.md still told maintainers to run rake release, which has not been how this gem ships since #755 moved publishing to trusted publishing in push_gem.yml.

Following the old instructions would push the gem from a maintainer's machine, bypassing the workflow #755 set up, and would push the tag as well — which triggers that same workflow and fails it, trying to publish a version already on RubyGems.

The section now describes what actually happens:

  • The version is already bumped on main by the previous release's next-iteration commit, so it only needs checking rather than setting.
  • The changelog gets its date on a branch and is merged as usual.
  • Pushing the tag to upstream is the step that publishes; the workflow verifies the tag against JWT.gem_version, builds, pushes via trusted publishing and waits for propagation. No local credentials.
  • rake release is called out explicitly, with the reason.

It also covers the two steps the old instructions omitted: creating the GitHub release named jwt-<version> with the changelog section as its body, and opening the next iteration.

Written from the 3.3.0 release, which followed exactly these steps.

CONTRIBUTING said to run rake release, which has not been how this gem
ships since jwt#755 moved publishing to trusted publishing in push_gem.yml.

Following the old instructions would push the gem from a maintainer's
machine, bypassing the workflow that jwt#755 set up, and would also push the
tag, which then triggers that workflow and fails it trying to publish a
version already on RubyGems.

Describe what actually happens instead: the version is already bumped on
main by the previous release's next-iteration commit, the changelog gets
dated on a branch and merged, and pushing the tag to upstream is the step
that publishes. Also note the two things the old instructions left out,
creating the GitHub release and opening the next iteration, and say
plainly that rake release is not the way.
@anakinj
anakinj merged commit 9df1393 into jwt:main Sep 11, 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.

1 participant