From f48a63d9c5294297275f362a2cc04ac9ba1cb1c6 Mon Sep 17 00:00:00 2001 From: theGreatWhiteShark Date: Sat, 9 Sep 2023 17:15:05 +0200 Subject: [PATCH] update release process --- DEVELOPERS | 68 +++++++++++++++++++++--------------------------------- 1 file changed, 26 insertions(+), 42 deletions(-) diff --git a/DEVELOPERS b/DEVELOPERS index 271a7d638..6c3dfe5bc 100644 --- a/DEVELOPERS +++ b/DEVELOPERS @@ -78,11 +78,7 @@ order to make a release has several, easy-to-forget steps. They are: c. Check if nothing has changed and update version and date in linux/hydrogen.1 - d. Add new version, date, and ChangeLog to - linux/org.hydrogenmusic.Hydrogen.metainfo.xml.in and run - `make` in linux/ folder - - e. Update the TARGET_VERSION variable in .appveyor.yml + d. Update the TARGET_VERSION variable in .appveyor.yml 2. Run `src/gui/src/about_dialog_contributor_list_update.sh GIT_TAG_OF_LAST_RELEASE HEAD` to update the list of recent @@ -93,53 +89,41 @@ order to make a release has several, easy-to-forget steps. They are: 4. Commit your changes. - 5. Make a tarball of the release (gzipped). Use gzip instead of - bzip2 for the folks on Windows. Tarballs should be named: - - +--- Release version - | - | +--- Extra release version info - __|__ _|_ - hydrogen-0.9.4-rc2.tar.gz - - Example: 'tar -pczf hydrogen-0.9.5.tar.gz hydrogen-0.9.5' - - 6. If this is an RC release, the following steps are optional. - - 7. In a clean directory, test build the tarball in as many ways as - you can. Call your friends. Have a party. Be sure to build - packages on as many systems as possible. Be sure to install - and uninstall them, too. - - 8. If the release passes these "internal" tests, tag the - release. Remember, after tagging the release you may not - commit changes to the tag. + 5. Create a dedicated branch containing the suffix `-artifacts`, + like `releases/1.2.2-release-artifacts`, and manually set in + `CMakeLists.txt` the `IS_DEVEL_BUILD` variable to "false" and + ensure `DISPLAY_VERSION` does not have a suffix. When pushing + this branch to Github, our AppVeyor pipeline will create release + artifacts for Linux, macOS, and Windows. - git tag -a 0.9.4 -m "Tagging 0.9.4" + 6. Call your friends. Have a party. Be sure to tests the artifacts + on as many systems as possible. Be sure to install and uninstall + them, too. - 9. Build binary packages in Appveyor for Windows and macOS: + 7. If the release passes these "internal" tests, add new version, + date, ChangeLog as well as the release artifacts including their + SHA256 sums to `linux/org.hydrogenmusic.Hydrogen.metainfo.xml.in` + and run `make` in `linux/` folder - - fast-forward merge (or force-push if necessary) releases/XXX to - releases/XXX-artifacts, and ensure that the head commit is the - one pointed to by the release tag above. - - appveyor will build and keep the binary packages as artifacts. + 8. Tag the release. Remember, after tagging the release you may not + commit changes to the tag. - 10. If this is a major release (e.g. 0.9.4), then make a branch for - maintenance patches for your release. If this is a maintenance - release (e.g. 0.9.4.1) then skip this step. + git tag -a 0.9.4 -m "Tagging 0.9.4" + git push --tags origin - git branch 0.9.4 - git push origin 0.9.4 + 9. In case the release is a new major or minor version, also create + a dedicated release branch, like `releases/1.2`. - 11. Build a github release, incorporating binary packages, source + 10. Create a github release, incorporating binary packages, source package, tag and release announcement. - 12. Upload the release to SourceForge and make it the default download + 11. Upload the release to SourceForge and make it the default download for all supported platforms. - 13. Make release announcements on + 12. Make release announcements on - hydrogen-users@lists.sourceforge.net - hydrogen-music.org - 14. Update Homebrew Hydrogen cask: - - PR against https://github.com/Homebrew/homebrew-cask/blob/master/Casks/hydrogen.rb + 13. Update third party repos. Make a PR against: + - Homebrew: https://github.com/Homebrew/homebrew-cask/blob/master/Casks/hydrogen.rb + - Flatpak: https://github.com/flathub/org.hydrogenmusic.Hydrogen/