Release Steps

From The Battle for Wesnoth Wiki
Revision as of 18:41, 22 October 2023 by Pentarctagon (talk | contribs)

Pre-release (stable only)

  • Start the string freeze two weeks before the release.
  • Do the pot update:
scons pot-update update-po4a manual
git add -A
git commit -am "pot-update and regenerate doc files"
  • Email the translator's mailing list stating that the string freeze is starting.

Release (stable and master branches)

  • Check the changelog_entries folder for entries and update the changelog as necessary.
  • Run the pot update (second time if this is a stable release).
  • Do the pre-tag commit (check a previous commit as an example - this removes the "+dev" suffix everywhere).
  • The the post-tag commit (check a previous commit as an example - this re-adds the "+dev" suffix everywhere).
  • Tag the pre-tag commit with:
git tag -a <version> -m "Wesnoth <version> (Alpha)" <commit hash>
- (Alpha)/(Beta) is only added for dev releases depending on where we are in the release cycle.
  • Push the commits and the tag:
git push
git push origin <version>
  • Ping the packagers on Discord that the release has been tagged:
@packagers <version> has been tagged.
  • Check that the new version is allowed on its respective multiplayer server.
  • Update the header in Discord's #development channel.
  • Add items to the Release Notes page on this wiki for the release.
  • Upload source code tarball to SourceForge and files.wesnoth.org (done by loonycyborg).
  • Send an email to the packagers mailing list (done by loonycyborg).
  • Upload the release to the various places Wesnoth is distributed (Steam, itch.io, SourceForge, macOS App Store, Flathub).
    • Windows/Linux - handled by loonycyborg.
    • macOS - handled by hrubymar.
  • Post the forum announcements.
  • Update the Downloads wiki page.
  • Add the News forum post.
  • Post the Discord announcement.
    • Make sure to publish it.
    • Short link is: https://r.wesnoth.org/t#####
  • Post the itch.io devlog (copy of the Discord announcement).
  • Update the wesnoth.org front page.
    • See a previous version update commit to the wesmere repository.
    • ssh into the website VM and execute the following shell commands (yes, it is specifically 'make', not 'make install'!):
sudo -iu wesnoth
cd ~/git/wesmere/static
git pull
make
  • Generate the Steam announcement by running the following command in your local wesnoth repository root:
python3 data/tools/steam-changelog changelog.md <version> > <version>.txt
  • Post the Steam announcement.
  • Log into Wesnoth's Steam page.
    • Click "A Game Update".
    • Pick "Small Update".
    • Paste the output of of the above python command into the event description.
    • Click "Link To Build" and select the appropriate branch.
    • Edit the appropriate .xcf file from the Resources repository (wesnoth_event_header.xcf for stable releases, wesnoth_beta_header.xcf for development releases) and export it to PNG.
      • This requires the oldania font to be installed, which on Linux/Ubuntu-derivatives can be installed via the command:
apt install fonts-adf-oldania
  • Post the announcement to Fosstodon.
  • Post the announcement to Reddit. (Elvish_Hunter)