[PATCH] Release process improvements
Tom de Vries
tdevries@suse.de
Mon Mar 8 13:13:08 GMT 2021
Hi,
While doing the 0.14 release I ran into a few minor issues when running the
scripts in contrib/release:
- The script contrib/release/upload-release.sh requires a version argument,
but the version can just be read from the VERSION file.
- The contrib/release/do-release.sh does not do the git push. I used
my usual push script which also does a git rebase --ignore-date, which meant
the commit got updated and the tag no longer referred to the commit.
Also, I realized it could be useful to have a release checklist to go through.
So:
- Use $(cat VERSION) in contrib/release/upload-release.sh to get version
- Add git push commands to contrib/release/do-release.sh
- Add README.release-checklist
Any comments?
Thanks,
- Tom
Release process improvements
2021-03-08 Tom de Vries <tdevries@suse.de>
* README.release-checklist: New file.
* contrib/release/do-release.sh: Add git push commands.
* contrib/release/upload-release.sh: Use $(cat VERSION) to get version.
---
README.release-checklist | 28 ++++++++++++++++++++++++++++
contrib/release/do-release.sh | 6 ++++++
contrib/release/upload-release.sh | 2 +-
3 files changed, 35 insertions(+), 1 deletion(-)
diff --git a/README.release-checklist b/README.release-checklist
new file mode 100644
index 0000000..a936919
--- /dev/null
+++ b/README.release-checklist
@@ -0,0 +1,28 @@
+- Verify that copyright notices in source files are up-to-date.
+- Update COPYRIGHT_YEARS using contrib/release/gen-copyright-years.sh.
+ Commit modifications if there are any.
+- Run contrib/release/do-release.sh.
+ Use:
+ - --minor to do a minor update: $maj.$min -> $maj.$(($min + 1))
+ - --major to do a major update: $maj.$min -> $(($maj + 1)).0
+ This:
+ - adds a commit that updates the VERSION file,
+ - tags that commit, and
+ - pushes both the commit and the tag to the remote repository.
+- Run contrib/release/upload-release.sh.
+ This creates and uploads two release tarballs.
+- Write draft release announcement.
+ F.i. using template of
+ https://sourceware.org/ml/gdb-announce/2019/msg00001.html.
+- Sent out draft release announcement to maintainers for review and
+ further contributions.
+- Sent out release announcement. Sent to:
+ - Maintainers
+ - dwz@sourceware.org
+ - dwarf-discuss@lists.dwarfstd.org
+ - gcc@gcc.gnu.org
+ - gdb@sourceware.org
+ - lldb-dev@lists.llvm.org
+- Update web page ( https://sourceware.org/dwz/ ):
+ - Add news item with hlink to release annoucement.
+ - Add entry in release list.
diff --git a/contrib/release/do-release.sh b/contrib/release/do-release.sh
index f1bb4d9..0fde9a7 100755
--- a/contrib/release/do-release.sh
+++ b/contrib/release/do-release.sh
@@ -52,10 +52,16 @@ echo Bumped version: major: $major, minor: $minor
version=$major.$minor
+set +x
+
echo $version > VERSION
git add VERSION
git commit -m "Bump version to $version"
+git push origin master:master
+
git tag dwz-$version
+
+git push origin dwz-$version
diff --git a/contrib/release/upload-release.sh b/contrib/release/upload-release.sh
index e5f6d70..3c2abdd 100755
--- a/contrib/release/upload-release.sh
+++ b/contrib/release/upload-release.sh
@@ -4,7 +4,7 @@ set -e
pwd=$(pwd -P)
-version="$1"
+version=$(cat VERSION)
tag=dwz-$version
rootdir=dwz
More information about the Dwz
mailing list