Guide to Changelogs
You can add changelog entries by using the following template in the body of your pull request:
:cl: prefix: text prefix: text prefix: text /:cl:
Your GitHub username is credited by default, or you can add a name at the end of the :cl: line to override it.
Valid prefixes are:
- add
- del
- fix
- wip
- tweak
- experiment
- spellcheck
- soundadd
- sounddel
- imageadd
- imagedel
- balance
- code
- refactor
- config
- admin
- server
Advanced information
Changelogs are small YAML files that developers create to add their pull requests' changes to the master changelog.html file. A python script run by a maintainer collects all the changes specified and generates the HTML necessary, merging changes by the same author during the same day.
Online auto-creation
On the /tg/station GitHub, a formatted block in your PR's description as described above will cause a bot to automatically generate a .yml file.
The idea is to reduce merge conflicts caused by two PRs trying to edit the same file.
Committing a .yml file
PR changelogs are temporary and just get deleted after they're merged into the master changelog.
- Create
html/changelogs/USERNAME-BRANCHNAME.yml
.- Go to
/master/html/changelogs/
on your branch. - Create file
USERNAME-BRANCHNAME.yml
in the folder, where 'BRANCHNAME' the name of the branch on your fork and 'USERNAME' is your github username.- Example:
Deantwo-BrainlessShooting.yml
- File name is not super important but helps the maintainers know who made the file and which PR it is related to. Also prevents conflicts since two files won't have the same name.
- Example:
- Go to
- Copy the contents of this.
- Fill it out.
- Make sure to set delete-after to true.
- Also ensure you update the author name so you get credited appropriately.
- PROOFREAD. Changelog entries are final after they're merged.
- Add it to git so it's included with your PR.
File content example:
author: Deantwo delete-after: True changes: - rscadd: "Added laser rifles for everyone." - rscdel: "Removed everyone's brains."
Updating the Changelog
Only maintainers need to do this.
- First, install python3, pip, and PyYaml:
- After installing python and ensuring it and its Scripts/ folder is in PATH, download and run get-pip.py with python.
- Once pip is installed run the following commands in your terminal
pip install PyYaml
pip install beautifulsoup4
- With /tg/station's code, simply run makeChangelog.bat.
- On Linux or other codebases, run
python tools/ss13_genchangelog.py html/changelog.html html/changelogs
Screwed up Changelog
If a changelog needs to be edited after merge, a maintainer will need to edit the html/changelogs/.all_changelog.yml file in order to fix the database. (This file is hidden on Linux and Mac OSX.)