Release Check List

From OHRRPGCE-Wiki
Jump to navigation Jump to search

FIXME: How to make a release seems to be a duplicate of this, anything there that is missing here should be copied over

This is a checklist of the steps to do a stable release. Some of this can be automated in the future.

Branching[edit]

  • Make sure all release blocker bugs are resolved
  • If the required FreeBasic version has increased, verify that it has been bumped in README.txt
  • Make sure whatsnew.txt is up to date
  • branch wip -> rel/codename (command is svn cp ./wip ./rel/codename in a checked out svn working copy. The branch in git will be created automatically later by the git-svn.sh sync script)
  • Put the release codename into codename.txt on the branch, also update the svn revision where the branch happened
  • Run docs/update-html.sh after updating codename.txt, so it updates the codename in the .xml. (Note that none of the distrib or release scripts do this automatically.)
  • Update any of the README-* files which reference release codename at the top

Adding Git-mail for the release branch[edit]

  • After the new release branch has shown up here: https://github.com/ohrrpgce/ohrrpgce/branches
  • Check out a copy to ~/src/ohrcron/ohr-git-mail-codename/
  • Make sure the release branch is checked out.
  • Update the cron job for the stable release. It will look something like this
# Run every 5 minutes
2,7,12,17,22,27,32,37,42,47,52,57 * * * * WORKING_COPY=~/src/ohrcron/ohr-git-mail-codename/ BRANCH=codename ~/src/ohr/web/cron/git-mail.sh
  • The only part that needs updating is the codename in two places.
  • You can also remove/replace the old cron job for the old stable release

Release Building[edit]

  • On each build environment, run the release scripts in the rel/codename branch in the release folder. (make sure the repo is fully updated)
  • Run release-linux-x86.sh on a 32 bit Linux build env
  • Run release-linux-x86_64.sh on a 64 bit Linux build env
  • Run release-mac.sh on a Mac build env
  • Run release-win.bat on a Windows build env
  • Run release-android.sh on a Linux Android build env (Android isn't included in stable builds until it has gotten some important fixes)
  • Run release-web.sh on Linux with docker installed
  • Run release-source.sh on Linux

Testing[edit]

  • Files will be available from https://hamsterrepublic.com/ohrrpgce/archive/
  • Download and test for each platform
  • Ask the denizens of SlimeSalad forums and Discord to test any platforms you can't test yourself
  • To sanity-check the "Distribute Game" menu, you can ssh into motherhamster.org (HamsterRepublic.com) and run script/ohrstable.sh -p to update the stable links just for the player-only files.
    • Note that if this release increments the packaging_version in buildinfo.ini as compared to the previous release, then this test may break the "Distribute Game" feature of previous stable versions, and should only be done briefly, with caution

Finalized Release[edit]

  • Some of the above steps may need to be repeated if problems are found in the testing phase
  • To finalize the release, ssh into motherhamster.org (HamsterRepublic.com) and run script/ohrstable.sh to update all the links.
  • Run the release/release-docs.sh script from the rel/codename branch on a Linux dev env
  • Run the release/release-itchio.sh script from any branch on a Linux computer

Wiki Updates[edit]

Buglist Updates[edit]