How to release a new version - tmewett/BrogueCE GitHub Wiki
The process for maintainers.
Search the Git history for commits beginning with "Prepare" for examples.
-
Try to give any downstreams (Web, iPad) a heads-up in advance.
-
Ensure 'release' and 'master' branches are clean of local changes and up-to-date with the remote.
-
If minor-level version (changing Y in X.Y.Z):
- Merge 'release' into 'master'.
- Remove all uses of
BROGUE_VERSION_ATLEAST
.
-
Reset the 'gha-build' branch to 'release' and check out 'gha-build'. (Our GitHub Actions are configured to always build the 'gha-build' in release mode, so this is how we'll get the release builds.)
-
Update version numbers in:
- Rogue.h
- Info.plist
- the variants Globals files; each should be incremented with the same policy as the Brogue main mode
- the seed catalog preamble in SeedCatalog.c, if the dungeon contents (items or machines) have changed
-
If minor-level version: Delete test recordings in
test/
. -
Add an entry to the top of
CHANGELOG.md
containing the current change files inchanges/
. Look at previous entries and try to follow the format closely. You can runtools/bullet-points changes/*.md
to process the files into a bulleted list to get you started. -
Delete the changes files;
git rm changes/*.md
-
Commit all above and push the 'gha-build' branch.
-
Download artifacts from gha-build Action. Test with
tools/gha-release
or equivalent. -
Make version tag
vX.Y
orvX.Y.Z
. -
Merge 'gha-build' into 'release'.
-
If minor-level version: merge 'master' into 'release'.
-
Push 'master', 'release', and the tag.
-
{summary} <details> <summary>Changes</summary> {changelog} </details>
-
Post to /r/brogueforum.
Adventurers, An update for Brogue CE is now available! [Download for Windows, Mac, and Linux](https://github.com/tmewett/BrogueCE/releases) {summary} {changelog}
-
Post to roguelikes Discord.
-
If minor-level version: cross-post to /r/roguelikes.