Release Steps
From The Battle for Wesnoth Wiki
Contents
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)
- Update macro-reference.html:
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 instance.
- 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 and remove the 1.17 cron job.
- Flatpak
- Add screenshots to https://wiki.wesnoth.org/Screenshots
- Start page - soft link the folder from the repository to the folder that shows up on the actual website:
cd /srv/www/html/start ln -s /home/git/wesnoth/start/<version>
- Update ci_main.yml to use the new branch instead of the master branch.
This page was last edited on 1 March 2024, at 02:49.