Difference between revisions of "Release Steps"

From The Battle for Wesnoth Wiki
Line 2: Line 2:
 
* Start the string freeze two weeks before the release.
 
* Start the string freeze two weeks before the release.
 
* Do the pot update:
 
* Do the pot update:
 +
<nowiki>
 +
scons pot-update update-po4a manual
 +
git add -A
 +
git commit -am "pot-update and regenerate doc files"</nowiki>
 
* Email the translator's mailing list stating that the string freeze is starting.
 
* Email the translator's mailing list stating that the string freeze is starting.
  
<nowiki>
+
== Release (stable and master branches) ==
scons pot-update update-po4a manual
+
* Run the pot update (second time if this is a stable release).
git add -A
+
* Do the pre-tag commit (check a previous commit as an example - this removes the "+dev" suffix everywhere).
git commit -am "pot-update and regenerate doc files"
+
* The the post-tag commit (check a previous commit as an example - this re-adds the "+dev" suffix everywhere).
</nowiki>
+
* Tag the pre-tag commit with:
 +
<nowiki>git tag -a <version> -m "Wesnoth <version> (Alpha)" <commit hash></nowiki>
 +
::- "(Alpha)"/"(Beta)" is only added for dev releases depending on where we are in the release cycle.
 +
* Push the commits and the tag:
 +
<nowiki>git push
 +
git push origin <version></nowiki>
 +
* Ping the packagers on Discord that the release has been tagged:
 +
<nowiki>@packagers <version> has been tagged.</nowiki>
 +
* 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.
 +
** url: https://wiki.wesnoth.org/Download
 +
** dev template: https://wiki.wesnoth.org/Template:DevDownload#Development_.281.15_branch.29
 +
** stable template: https://wiki.wesnoth.org/Template:StableDownload
 +
* Add the News forum post.
 +
* Post the Discord announcement.
 +
** Make sure to publish it.
 +
** Short link is: '''<nowiki>https://r.wesnoth.org/t#####</nowiki>'''
 +
* Post the itch.io devlog (copy of the Discord announcement).
 +
* Update the wesnoth.org front page.
 +
** See a version update previous commit to the '''wesmere''' repository.
 +
** ssh into the website VM and execute the following shell commands (yes, it is specifically ''''make'''', not ''''make install''''!):
 +
<nowiki>sudo -iu wesnoth
 +
cd ~/git/wesmere/static
 +
git pull
 +
make</nowiki>
 +
* Generate the Steam announcement by running the following command in your local wesnoth repository root:
 +
<nowiki>python3 data/tools/steam-changelog changelog.md <version> > <version>.txt</nowiki>
 +
* 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 [https://github.com/wesnoth/resources/tree/master/social-media-assets 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:
 +
<nowiki>apt install fonts-adf-oldania</nowiki>
 +
* Post the announcement to Reddit (done by Elvish_Hunter).
 +
* Post the announcement to Twitter (done by Yumi).
  
 
[[Category:Release_Notes]]
 
[[Category:Release_Notes]]

Revision as of 03:52, 25 September 2022

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)

  • 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.
  • 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 version update previous 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 Reddit (done by Elvish_Hunter).
  • Post the announcement to Twitter (done by Yumi).