Repository navigation
Make release.sh rerunnable, and ask before each publishing step - #239
Merged
Merged
Conversation
After the svn mv, the script traced its own `echo` and `read` and stopped on a one-line question, so it was not clear what to do next or in which order. - Skip the svn mv when the packages are already in dist/release, so the script can be rerun to finish the other steps. - Ask before publishing the GitHub release, with the version's section of CHANGES.md at the tag as its notes. Skip it when the release exists. - Ask before `make docker.push`. Skip it when the image is already on Docker Hub, or when the working tree is not the release tag. - List what is done, skipped or failed, remind to update the website, and print the announcement email with its subject and recipients. Fix the `dev@skywalkiing.apache.org` typo. - Ask before removing the older releases from dist/release. - Print each command before running it instead of tracing the whole script.
wu-sheng
force-pushed
the
release-script-clear-ending
branch
from
October 19, 2026 13:32
7b23fb1 to
8654250
Compare
kezhenxu94
approved these changes
Oct 20, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Running
scripts/release.shfor 0.15.0 ended like this, and it was not clear what to do next or in which order:Run the script from the
skywalking-clicheckout of the release tag. It now:svn mvto dist/release, or skips it when the packages are already there, so you can rerun the script to finish the other steps.Publish the GitHub release <v> ...? [y/N], then runsgh release create. The notes are the version's section of CHANGES.md, read from the tag. It skips this step when the release already exists.Build and push docker.io/apache/skywalking-cli:<v> and :latest ...? [y/N], then runsmake docker.push. It skips this step when the image is already on Docker Hub, or when the checkout is not at the tag.dev@skywalkiing.apache.orgtypo.Remove the older releases 0.13.0 0.14.0 from dist/release? [y/N], then runssvn rm.The script no longer traces every command (
set -x). It prints each command just before running it. The Publish section of the release guide describes the new flow.Tests
The tests stub
svn,gh,docker,makeandgit.sh,bash,dash: 66 of 66) and on Linuxgolang:1.26(dashwithmawk, andbash: 44 of 44). They cover:svn mv);ghormake docker.pushfailing (the rest still runs, and the summary says to rerun);svn mvfailing (the script stops);svn lsfailing, no older releases,svn rmfailing, and VERSION unset.0.15.0, on macOS and Linux, the GitHub release notes match the 0.15.0 section of CHANGES.md exactly, and the Docker step runs because the checkout is at the tag.shellcheckreports nothing.