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.

  1. Try to give any downstreams (Web, iPad) a heads-up in advance.

  2. Ensure 'release' and 'master' branches are clean of local changes and up-to-date with the remote.

  3. If minor-level version (changing Y in X.Y.Z):

    1. Merge 'release' into 'master'.
    2. Remove all uses of BROGUE_VERSION_ATLEAST.
  4. 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.)

  5. 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
  6. If minor-level version: Delete test recordings in test/.

  7. Add an entry to the top of CHANGELOG.md containing the current change files in changes/. Look at previous entries and try to follow the format closely. You can run tools/bullet-points changes/*.md to process the files into a bulleted list to get you started.

  8. Delete the changes files; git rm changes/*.md

  9. Commit all above and push the 'gha-build' branch.

  10. Download artifacts from gha-build Action. Test with tools/gha-release or equivalent.

  11. Make version tag vX.Y or vX.Y.Z.

  12. Merge 'gha-build' into 'release'.

  13. If minor-level version: merge 'master' into 'release'.

  14. Push 'master', 'release', and the tag.

  15. Make release on GitHub.

    {summary}
    
    <details>
    <summary>Changes</summary>
    
    {changelog}
    
    </details>
    
  16. 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}
    
  17. Post to roguelikes Discord.

  18. If minor-level version: cross-post to /r/roguelikes.

⚠️ **GitHub.com Fallback** ⚠️