Skip to content

Commit

Permalink
update release process
Browse files Browse the repository at this point in the history
  • Loading branch information
theGreatWhiteShark committed Sep 9, 2023
1 parent cde93f7 commit f48a63d
Showing 1 changed file with 26 additions and 42 deletions.
68 changes: 26 additions & 42 deletions DEVELOPERS
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand All @@ -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/

0 comments on commit f48a63d

Please sign in to comment.