Release Steps: Difference between revisions
From The Battle for Wesnoth Wiki
Pentarctagon (talk | contribs) |
Pentarctagon (talk | contribs) |
||
| (25 intermediate revisions by the same user not shown) | |||
| Line 34: | Line 34: | ||
* Ping the packagers on Discord that the release has been tagged: | * Ping the packagers on Discord that the release has been tagged: | ||
<nowiki>@packagers <version> has been tagged.</nowiki> | <nowiki>@packagers <version> has been tagged.</nowiki> | ||
* Run the following command: | |||
<nowiki>./utils/update_appdata <version> packaging/org.wesnoth.Wesnoth.appdata.xml</nowiki> | |||
* Check that the new version is allowed on its respective multiplayer server. | * Check that the new version is allowed on its respective multiplayer server. | ||
* Update the header in Discord's #development channel. | * Update the header in Discord's #development channel. | ||
* | * Upload master.zip and the patch to SourceForge to the respective version's folder for use by Android | ||
* | ** master.zip contains the folders | ||
*** data (data/core/music/ is removed) | |||
*** fonts | |||
*** images | |||
*** sounds | |||
*** translations | |||
** For the patch, go to packaging/android/ and run | |||
<nowiki>./create_patch.sh oldtag newtag</nowiki> | |||
Then upload the resulting patch.zip and manifest.txt next to master.zip. | |||
* Upload source code tarball to SourceForge and files.wesnoth.org (done by loonycyborg). | * Upload source code tarball to SourceForge and files.wesnoth.org (done by loonycyborg). | ||
* Send an email to the packagers mailing list (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). | * Upload the release to the various places Wesnoth is distributed (Steam, itch.io, SourceForge, macOS App Store, Flathub, F-Droid). | ||
** Windows/Linux - handled by loonycyborg. | ** Windows/Linux - handled by loonycyborg. | ||
** macOS - handled by hrubymar. | ** macOS - handled by hrubymar. | ||
** Android (F-Droid) - handled by LumiousE | |||
* Post the forum announcements. | * Post the forum announcements. | ||
* Update the Downloads wiki page. | * Update the Downloads wiki page. | ||
| Line 72: | Line 85: | ||
<nowiki>apt install fonts-adf-oldania</nowiki> | <nowiki>apt install fonts-adf-oldania</nowiki> | ||
* Post the announcement to Fosstodon. | * Post the announcement to Fosstodon. | ||
* Post the announcement to Reddit. ( | * Post the announcement to Reddit. (Pentarctagon) | ||
** Add the "Development release"/"Stable release" flair. | ** Add the "Development release"/"Stable release" flair. | ||
** Don't paste the link in the post, directly post it as a link. | ** Don't paste the link in the post, directly post it as a link. | ||
| Line 84: | Line 97: | ||
=== 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 | ||
** A new server instance won't be created since clients go to port 15000 and then that redirects based on version. The existing dev multiplayer server will have its config updated and be reused as the new stable instance. | |||
*** Updating the server config is done on release day for the new stable. | |||
** 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. | * 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) | ** C++ update (currently default_campaignd_port in addon/validation.cpp) | ||
** Python update (data/tools/wesnoth/campaignserver_client.py) | ** Python update (data/tools/wesnoth/campaignserver_client.py) | ||
** Website update (bin/valen.pl) in the valen repository | ** 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 cron job for the stable version for ~wesnoth/bin/update_addons in the websites VM and remove the dev version cron job. | |||
* Add screenshots to https://wiki.wesnoth.org/Screenshots | |||
** Upload them to /srv/www/html/images/sshots | |||
* Start page - soft link the folder from the repository to the folder that shows up on the actual website: | |||
<nowiki> | |||
cd /srv/www/html/start | |||
ln -s /home/git/wesnoth/start/<version></nowiki> | |||
* Update ci_main.yml to use the new branch instead of the master branch. | |||
[[Category:Release_Notes]] | [[Category:Release_Notes]] | ||
Latest revision as of 14:50, 4 November 2026
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.
- Run the following command:
./utils/update_appdata <version> packaging/org.wesnoth.Wesnoth.appdata.xml
- Check that the new version is allowed on its respective multiplayer server.
- Update the header in Discord's #development channel.
- Upload master.zip and the patch to SourceForge to the respective version's folder for use by Android
- master.zip contains the folders
- data (data/core/music/ is removed)
- fonts
- images
- sounds
- translations
- For the patch, go to packaging/android/ and run
- master.zip contains the folders
./create_patch.sh oldtag newtag
Then upload the resulting patch.zip and manifest.txt next to master.zip.
- 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, F-Droid).
- Windows/Linux - handled by loonycyborg.
- macOS - handled by hrubymar.
- Android (F-Droid) - handled by LumiousE
- 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. (Pentarctagon)
- 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
- A new server instance won't be created since clients go to port 15000 and then that redirects based on version. The existing dev multiplayer server will have its config updated and be reused as the new stable instance.
- Updating the server config is done on release day for the new stable.
- 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.
- A new server instance won't be created since clients go to port 15000 and then that redirects based on version. The existing dev multiplayer server will have its config updated and be reused as the new stable instance.
- 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 cron job for the stable version for ~wesnoth/bin/update_addons in the websites VM and remove the dev version cron job.
- Add screenshots to https://wiki.wesnoth.org/Screenshots
- Upload them to /srv/www/html/images/sshots
- 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 4 November 2026, at 14:50.