Skip to content

Default release-passed.sh to the candidate that is actually in dist/dev - #219

Merged
wu-sheng merged 2 commits into
masterfrom
fix-release-passed-default
Aug 31, 2026
Merged

Default release-passed.sh to the candidate that is actually in dist/dev#219
wu-sheng merged 2 commits into
masterfrom
fix-release-passed-default

Conversation

@wu-sheng

Copy link
Copy Markdown
Member

Publishing 0.11.0 failed at step 2:

Version to publish [0.12.0]:
...
Moving https://dist.apache.org/repos/dist/dev/skywalking/swck/0.12.0 to .../release/skywalking/swck/...
Has the vote passed with at least 3 binding +1 and more +1 than -1? [y/N] y
svn: E160013: '/repos/dist/!svn/rvr/87084/dev/skywalking/swck/0.12.0' path not found

The prompt offered 0.12.0 and pressing Enter accepted it. The default came from
Chart.yaml, which release.sh had already bumped through the next-version PR — so the more
faithfully the release manager had followed the process, the more certainly the default was the
wrong version. There was a NOTE: warning about exactly this, which is not the same as not
doing it.

It failed safely — nothing was moved, dist/dev still holds 0.11.0 and dist/release still
holds 0.10.0 — but only after the vote confirmation, and with an svn path error rather than an
explanation.

Change

The default now comes from dist/dev, the one place that knows what is waiting to be published:

  • exactly one candidate → that is the default
  • none → error, saying nothing is awaiting a vote
  • more than one → error listing them, asking for the version explicitly

And the chosen version is checked to exist before the vote question, instead of failing
several prompts later.

Verified

$ bash tools/releasing/release-passed.sh          # Enter at the prompt
dist/dev holds one candidate: 0.11.0
...
Moving https://dist.apache.org/repos/dist/dev/skywalking/swck/0.11.0 to ...

$ bash tools/releasing/release-passed.sh 0.12.0
ERROR: https://dist.apache.org/repos/dist/dev/skywalking/swck/0.12.0 does not exist.
Available: 0.11.0

The 0.11.0 candidate is untouched: 9 files still in dist/dev.

Publishing 0.11.0 failed at step 2 with an svn path error. The prompt offered 0.12.0, and
pressing Enter accepted it: the default came from Chart.yaml, which release.sh had already
bumped through the next-version PR. So the better the release manager had followed the
process, the more certainly the default was the wrong version.

It reads dist/dev now -- the one place that knows what is waiting to be published -- refuses
to guess when there is more than one candidate, and checks the chosen version exists before
asking whether the vote passed, rather than failing several prompts later on a path that was
never going to be there.
@wu-sheng wu-sheng added this to the 0.12.0 milestone Aug 31, 2026
@wu-sheng
wu-sheng merged commit 3478b2f into master Aug 31, 2026
17 checks passed
@wu-sheng
wu-sheng deleted the fix-release-passed-default branch August 31, 2026 08:20
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