TTT2 versioning is based on semantic-versioning.
Prefixing versions with a v
to indicate it is a version number and appending a b
to indicate its beta status.
The latest release will be published to the Steam Workshop in form of an addon. The latest development will be accessible on this repository's master branch.
The following steps will document our release process to prevent mistakes and convey possible changes to our release process more easily.
Note: This is meant as a guideline to achieve the goals mentioned above. Steps may be more vague or more specific than they need to be.
-
Decide the
<version>
string following SemVer. -
Prepare necessary files.
-
Update
CHANGELOG.md
.- Insert a level 2 heading right below
## Unreleased
- use the following format:
## [<version>](https://github.com/TTT-2/TTT2/tree/<version-tag>) (YYYY-MM-DD)
- Insert a level 2 heading right below
-
Update
gamemodes/terrortown/gamemode/client/cl_changes.lua
.- Use the
AddChange()
function and supply it with the following three arguments:- Addon name and version
"TTT2 Base - <version>"
. - An html formatted list of changes since the last release.
os.time()
supplied with the current date e.g.os.time({year = YYYY, month = MM, day = DD})
.
- Addon name and version
- Use the
-
Update
gamemodes/terrortown/gamemode/shared/sh_init.lua
.- Update the
GM.Version
string to the new version. - Check if other
GM
strings are up to date as well.
- Update the
-
Clean up the language files with our leanguage cleanup tool
- Tool: https://github.com/TTT-2/ttt2-language_parser
- Run from folder as:
python parse.py --in "../TTT2/lua/terrortown/lang" --out "../TTT2/lua/terrortown/lang" --base "en" --ignore "chef"
- Makes sure all language files align with the english translation
-
-
Open a Pull-Request prefixed with
[Release]
with the changes from above. -
Once the Pull-Request is approved and merged, proceed.
-
Draft a new Github release.
- Target the
master
branch. - Supply both
Tag version
andRelease title
with<version>
. - Copy applicable entries from the
CHANGELOG.md
to theDescribe this release
textarea. - Press
Publish release
.
- Target the
-
Release to the Steam Workshop.