Releasing.wiki
author Wuzzy
Thu, 10 Oct 2019 22:34:27 +0100
changeset 2007 be514c1e3989
parent 2005 017b57b75854
child 2008 b97b65082ea5
permissions -rw-r--r--
LuaGameplay: add paragraph in GetRandom

#summary How releases are done in Hedgewars
= Releasing Hedgewars =
This page is a checklist of things to do in order to do a proper Hedgewars release.

== Getting ready for release ==

 * Try to announce string freeze in News a few weeks before the planned release to give translators a fair chance
 * Bump [ProtocolNumbers protocol number]
     * `HEDGEWARS_PROTO_VER` in `CMakeLists.txt`
     * Wiki page: [ProtocolNumbers]
 * Bump Hedgewars version number (if it hasn't already)
 * Update server sources
     * Update newest version
     * Make server aware of new version and new -dev version protocol numbers (`protoNumber2ver` in `gameServer/Utils.hs`)
     * Update MOTD to reflect version changes (`newServerInfo` in `gameServer/CoreTypes.hs`)
 * Update `ChangeLog.txt`
 * Update all translation strings
     * For frontend (.ts) and Lua (.lua): Run `tools/update_locale_files.sh` and grab a coffee
     * Other files might need manual updating
 * If there was a Shoppa tournament after the previous release: Update prizes
     * Put the names of the top 3 players on the plaques in _ShoppaKing_ and _TrophyRace_
     * Add the names of (at least) the top 3 players in the pool of random names in _Rope-Knocking Challenge_
 * Update system requirements, if neccessary:
     * 1) In the `README.md` file
     * 2) In the Hedgewars homepage: https://hedgewars.org/node/6977

== Releasing ==

 # Purge your repository: `hg purge --all` (needs `purge` extension). Warning: This resets ALL the files, make sure to backup whatever you need
 # Create a source tarball (`.tar.bz2`). Run `make package_source`
 # Create a Windows build
 # Create a macOS build, if possible
 # Test the builds
 # Create torrents
 # Add a tag for the relevant commit (*after* the builds have succeeded!)
 # Update [https://hedgewars.org/release-archive release archive]
 # Update [https://hedgewars.org/download.html Download page]
 # Announce release on News section on [https://hedgewars.org/ www.hedgewars.org]
 # Announce release in IRC (`#hedgewars`)
 # Announce release in official server
     # Update protocol number
     # Update MOTD
     # In lobby, use command `/global Hedgewars X.Y.Z has just been released!`

== Post-release ==

 * Notify package managers of GNU/Linux distributions
 * Update Hedgewars Wiki
 * Update HWKB (esp. because of Lua)
 * Update game info on online game databases, if you have access
 * Add new version to Bugzilla
 * Optional: Add a couple of nice screenshots
 * Optional: Make a trailer
 
== For release candidates ==
Release candidates may be released before the actual release for testing. They might be combined with a string freeze.

 * Create a Windows build
 * Remember the commit ID to which the release canditate refers to
 * Write a post in News, you can use this post as a template: [https://hedgewars.org/node/6907]