Skip to content

docs: clarify Maven staging behavior across release candidates#3963

Merged
andygrove merged 1 commit intoapache:mainfrom
andygrove:docs/release-process-rc-staging
Apr 16, 2026
Merged

docs: clarify Maven staging behavior across release candidates#3963
andygrove merged 1 commit intoapache:mainfrom
andygrove:docs/release-process-rc-staging

Conversation

@andygrove
Copy link
Copy Markdown
Member

Which issue does this PR close?

Closes #.

Rationale for this change

The release process doc is ambiguous about how Maven staging works when a vote fails and a new RC is needed. Specifically:

  • The doc says "close and release the repository so it is made visible (this should actually happen automatically when running the script)", but publish-to-maven.sh only calls the Nexus finish endpoint, which closes the staging repo — it does not release to Maven Central. Releasing is (correctly) a manual step performed later in ### Publishing Maven Artifacts.
  • The Maven version (0.13.0) is shared across all RCs — the -rc1 / -rc2 suffix only appears in the git tag and the SVN source tarball. Nothing in the doc explains this, which makes it unclear whether re-staging for rc2 is safe.
  • "If the Vote Fails" doesn't mention dropping the previous RC's staging repo in Nexus, so multiple closed staging repos for the same version can accumulate and the release manager could accidentally release the wrong one.

What changes are included in this PR?

  • Correct the description of what publish-to-maven.sh does (closes only; does not release).
  • Explain that Maven artifacts always use the final release version regardless of the RC number, and that re-staging the same version across RCs is supported as long as none has been released to Maven Central.
  • Add a step to "If the Vote Fails" to drop the previous RC's staging repository in Nexus before staging the next RC.

How are these changes tested?

Documentation-only change.

Document that publish-to-maven.sh only closes the staging repository
(releasing is manual after the vote passes), that the Maven version is
shared across all RCs for a given release, and that the previous RC's
staging repository should be dropped in Nexus before staging the next RC.
@andygrove andygrove marked this pull request as ready for review April 16, 2026 17:04
Copy link
Copy Markdown
Contributor

@mbutrovich mbutrovich left a comment

Choose a reason for hiding this comment

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

I think this looks right to me, though I have not done this process myself. Thanks @andygrove!

@andygrove andygrove merged commit 1b5d4a3 into apache:main Apr 16, 2026
6 checks passed
@andygrove andygrove deleted the docs/release-process-rc-staging branch April 16, 2026 18:54
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