Difference between revisions of "Release Steps"

From The Battle for Wesnoth Wiki
(RC1)
(RC1)
Line 84: Line 84:
  
 
=== RC1 ===
 
=== RC1 ===
Before release, the new multiplayer server and add-ons server instances need to be setup.
+
Before release, the new multiplayer server and add-ons server instances need to be setup. The server running the website status is owned by Iris - she needs to push updates to it.
 
* Multiplayer server
 
* Multiplayer server
 
** Needs no changes since it goes to port 15000 and then that redirects based on version. The existing dev multiplayer server will be reused as the new stable instance.
 
** Needs no changes since it goes to port 15000 and then that redirects based on version. The existing dev multiplayer server will be reused as the new stable instance.

Revision as of 01:30, 22 February 2024

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)

cd data/tools/
make macro-reference.html
  • If stable
scp macro-reference.html wesnoth@wesnoth.org:WWW/html/macro-reference.html
  • If master
scp macro-reference.html wesnoth@wesnoth.org:WWW/html/macro-reference-1.<version>.html
  • Regenerate the game credits and paste the contents to Credits on the wiki:
data/tools/about_cfg_to_wiki -w ./wesnoth > ./about.wiki
  • 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.
  • Sync items on the Release Notes page to the changelog.
  • 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)
    • Add the "Development release"/"Stable release" flair.
    • Don't paste the link in the post, directly post it as a link.

New Stable Series

Beta 1

Write up the new Start page (ie: https://www.wesnoth.org/start/1.16/).

Beta 2

Make the new Start page available to Translators.

RC1

Before release, the new multiplayer server and add-ons server instances need to be setup. The server running the website status is owned by Iris - she needs to push updates to it.

  • Multiplayer server
    • Needs no changes since it goes to port 15000 and then that redirects based on version. The existing dev multiplayer server will be reused as the new stable instance.
    • The Discord website status bot and the site status page (https://status.wesnoth.org/ - bin/valen.pl) need to be updated to rename the dev version to the stable version.
    • A new stable multiplayer instance needs to be added to the alternate server.
  • Add-ons server - The port is the version number, for example 1.16 is 15016, 1.18 is 15018, etc.
    • C++ update (currently default_campaignd_port in addon/validation.cpp)
    • Python update (data/tools/wesnoth/campaignserver_client.py)
    • Website update (bin/valen.pl) in the valen repository to add the new
    • The Discord website status bot and the site status page (https://status.wesnoth.org/ - bin/valen.pl) need to be updated to add the new version.
    • Add a 1.18 cron job for ~wesnoth/bin/update_addons in the websites VM.
  • Update ci_main.yml to use the new branch instead of the master branch.