From 98400d261d130da76cc095e3efadb5a0186cce0d Mon Sep 17 00:00:00 2001 From: Tom de Vries Date: Wed, 10 Mar 2021 06:24:40 +0100 Subject: [PATCH] Release process improvements 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 2021-03-08 Tom de Vries * 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(-) create mode 100644 README.release-checklist 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 -- 2.43.5