author | Wuzzy |
Wed, 28 Jun 2023 22:17:51 +0000 | |
changeset 2263 | 1050e4f78485 |
parent 2091 | 428ad3d1d034 |
permissions | -rw-r--r-- |
1278
1cc36d9f1394
Add page explaining how to release Hedgewars
Wuzzy <almikes@aol.com>
parents:
diff
changeset
|
1 |
#summary How releases are done in Hedgewars |
1662 | 2 |
= Releasing Hedgewars = |
1278
1cc36d9f1394
Add page explaining how to release Hedgewars
Wuzzy <almikes@aol.com>
parents:
diff
changeset
|
3 |
This page is a checklist of things to do in order to do a proper Hedgewars release. |
1cc36d9f1394
Add page explaining how to release Hedgewars
Wuzzy <almikes@aol.com>
parents:
diff
changeset
|
4 |
|
1279 | 5 |
== Getting ready for release == |
1278
1cc36d9f1394
Add page explaining how to release Hedgewars
Wuzzy <almikes@aol.com>
parents:
diff
changeset
|
6 |
|
2008 | 7 |
* Fix common pitfalls |
2010 | 8 |
* Make sure all `*.pas` files are ASCII only |
2008 | 9 |
* Test Pas2C, fix anything that's broken |
2080 | 10 |
* If new weapons have been added: |
11 |
* Test if new weapon can be selected in frontend, online play, local play |
|
12 |
* Test if new weapon can be saved properly in ammo scheme |
|
2081 | 13 |
* Update `AMMO` in [https://hedgewars.org/kb/RacerRoomSetup the Official Racer room config file] |
2091 | 14 |
* Update preview image of Big Armory mission |
1281 | 15 |
* Try to announce string freeze in News a few weeks before the planned release to give translators a fair chance |
1623 | 16 |
* Bump [ProtocolNumbers protocol number] |
1665 | 17 |
* `HEDGEWARS_PROTO_VER` in `CMakeLists.txt` |
1995 | 18 |
* Wiki page: [ProtocolNumbers] |
1278
1cc36d9f1394
Add page explaining how to release Hedgewars
Wuzzy <almikes@aol.com>
parents:
diff
changeset
|
19 |
* Bump Hedgewars version number (if it hasn't already) |
1293 | 20 |
* Update server sources |
21 |
* Update newest version |
|
1665 | 22 |
* Make server aware of new version and new -dev version protocol numbers (`protoNumber2ver` in `gameServer/Utils.hs`) |
23 |
* Update MOTD to reflect version changes (`newServerInfo` in `gameServer/CoreTypes.hs`) |
|
1278
1cc36d9f1394
Add page explaining how to release Hedgewars
Wuzzy <almikes@aol.com>
parents:
diff
changeset
|
24 |
* Update `ChangeLog.txt` |
1cc36d9f1394
Add page explaining how to release Hedgewars
Wuzzy <almikes@aol.com>
parents:
diff
changeset
|
25 |
* Update all translation strings |
1489 | 26 |
* For frontend (.ts) and Lua (.lua): Run `tools/update_locale_files.sh` and grab a coffee |
27 |
* Other files might need manual updating |
|
1295 | 28 |
* If there was a Shoppa tournament after the previous release: Update prizes |
29 |
* Put the names of the top 3 players on the plaques in _ShoppaKing_ and _TrophyRace_ |
|
30 |
* Add the names of (at least) the top 3 players in the pool of random names in _Rope-Knocking Challenge_ |
|
1528 | 31 |
* Update system requirements, if neccessary: |
32 |
* 1) In the `README.md` file |
|
33 |
* 2) In the Hedgewars homepage: https://hedgewars.org/node/6977 |
|
1281 | 34 |
|
1279 | 35 |
== Releasing == |
1278
1cc36d9f1394
Add page explaining how to release Hedgewars
Wuzzy <almikes@aol.com>
parents:
diff
changeset
|
36 |
|
2005 | 37 |
# Purge your repository: `hg purge --all` (needs `purge` extension). Warning: This resets ALL the files, make sure to backup whatever you need |
38 |
# Create a source tarball (`.tar.bz2`). Run `make package_source` |
|
39 |
# Create a Windows build |
|
40 |
# Create a macOS build, if possible |
|
41 |
# Test the builds |
|
42 |
# Create torrents |
|
2009 | 43 |
# Add a tag for the relevant commit (name: `<version>-release`) (*after* the builds have succeeded!) |
44 |
# Start a branch with the name `<version>` (e.g. 1.0.0), on the commit you tagged |
|
2053 | 45 |
# Update symlink for windows installer `download/releases/hedgewars-win32.exe` to point to the latest release installer |
2005 | 46 |
# Update [https://hedgewars.org/release-archive release archive] |
47 |
# Update [https://hedgewars.org/download.html Download page] |
|
48 |
# Announce release on News section on [https://hedgewars.org/ www.hedgewars.org] |
|
49 |
# Announce release in IRC (`#hedgewars`) |
|
50 |
# Announce release in official server |
|
51 |
# Update protocol number |
|
52 |
# Update MOTD |
|
53 |
# In lobby, use command `/global Hedgewars X.Y.Z has just been released!` |
|
1321 | 54 |
|
1322 | 55 |
== Post-release == |
1321 | 56 |
|
1278
1cc36d9f1394
Add page explaining how to release Hedgewars
Wuzzy <almikes@aol.com>
parents:
diff
changeset
|
57 |
* Notify package managers of GNU/Linux distributions |
1321 | 58 |
* Update Hedgewars Wiki |
1323 | 59 |
* Update HWKB (esp. because of Lua) |
1321 | 60 |
* Update game info on online game databases, if you have access |
1479 | 61 |
* Add new version to Bugzilla |
1701 | 62 |
* Optional: Add a couple of nice screenshots |
63 |
* Optional: Make a trailer |
|
1278
1cc36d9f1394
Add page explaining how to release Hedgewars
Wuzzy <almikes@aol.com>
parents:
diff
changeset
|
64 |
|
1279 | 65 |
== For release candidates == |
1288 | 66 |
Release candidates may be released before the actual release for testing. They might be combined with a string freeze. |
1278
1cc36d9f1394
Add page explaining how to release Hedgewars
Wuzzy <almikes@aol.com>
parents:
diff
changeset
|
67 |
|
2011 | 68 |
* Create a source tarball (see above) |
1278
1cc36d9f1394
Add page explaining how to release Hedgewars
Wuzzy <almikes@aol.com>
parents:
diff
changeset
|
69 |
* Create a Windows build |
1cc36d9f1394
Add page explaining how to release Hedgewars
Wuzzy <almikes@aol.com>
parents:
diff
changeset
|
70 |
* Remember the commit ID to which the release canditate refers to |
1286 | 71 |
* Write a post in News, you can use this post as a template: [https://hedgewars.org/node/6907] |