Difference between revisions of "Release Steps"

From The Battle for Wesnoth Wiki
(RC1)
 
(20 intermediate revisions by the same user not shown)
Line 9: Line 9:
  
 
== Release (stable and master branches) ==
 
== Release (stable and master branches) ==
 +
* Update [http://www.wesnoth.org/macro-reference.html 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.
 
* 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).
 
* Run the pot update (second time if this is a stable release).
Line 24: Line 37:
 
* Update the header in Discord's #development channel.
 
* Update the header in Discord's #development channel.
 
* Add items to the Release Notes page on this wiki for the release.
 
* 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).
 
* 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).
Line 61: Line 75:
 
** 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.
 +
 +
== 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:
 +
<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 02:49, 1 March 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 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
  • 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.