Table of Contents
This is not formally required, but in order to have an explicit commit history, we use some commits message convention with the following format:
<type>(<scope>): <subject>
Allowed type
are defined below.
scope
value intends to clarify which part of the code has been modified. It can be empty or *
if the change is a
global or difficult to assign to a specific part.
subject
describes what has been done using the imperative, present tense.
Example:
feat(logger): Add a new property for logger
- chore (automatic tasks; no production code change)
- ci (updating continuous integration process; no production code change)
- comment (commenting;no production code change)
- docs (changes to the documentation)
- feat (new feature for the user)
- fix (bug fix for the user)
- refactor (refactoring production code)
- style (formatting; no production code change)
- test (adding missing tests, refactoring tests; no production code change)
Please note that if you merge a pull request in GitHub using the "squash and merge" option (recommended), the pull request title will be used as the commit message for the squashed commit.
You should ensure that the resulting commit message is valid with respect to the above convention.
To update the table of contents in the documentation, you can use the doctoc
tool.
First, install it:
npm install -g doctoc
Then, run it in the root folder:
doctoc README.md --maxlevel 4 && doctoc docs/* --maxlevel 4
We are using semantic versioning to determine a version number. To verify the current tag, you should run:
git describe --tags `git rev-list --tags --max-count=1`
Before publishing a new release, there are some manual steps to take:
- Update the
CHANGELOG.md
file to the current format. The release description is based on the contents of theCHANGELOG.md
file. - If the release is a major release, modify the major tag in the
README.md
file wherever necessary.
Then, you have to run the action manually from the GitHub repository
Alternatively, you could use the GitHub CLI:
- publish a release:
gh workflow run release.yml -f tag_name=vx.y.z
Note that the GitHub action will fail if the tag tag_name
already exits.