Below you can find the release procedure as a checklist. On each release it can be updated (if needed), copied and pasted into a GitHub issue, of course changing the release name. Then you can check each entry on the GitHub issue when done until the release is end.
To generate the changelog for a specific release you can use github_changelog_generator
The tool will overwrite the CHANGELOG.md file.
Install (Ubuntu)
sudo apt-get install ruby-dev
sudo gem install rake
sudo gem install github_changelog_generator
Configure
export CHANGELOG_GITHUB_TOKEN="«your-40-digit-github-token»"
as an alternative use --token.github_changelog_generator
file :since-tag
(the first tag you want to exclude)future-release
=YYYY.NN.mm with the "release branch name" (the tag still needs to be generated)For example the .github_changelog_generator
file for the changes between 2017.02.00 and 2017.03.00 release can look like the following (notice the initial 'v' for the tag):
future-release=2017.03.00
since-tag=v2017.01.00
Run
Github REST API has some usage limits that don't allow to generate the full changelog for a big project like MapStore 2.
To update the changelog you should generate only the latest changes (from the previews release) and add it to the existing change-log. This is more or less the procedure:
-specify the since-tag with the previous tag (e.g. v2017.05.00
, notice the v
) and the future-release name (e.g. 2015-06-00
).
github_changelog_generator --max-issues 1000
(notice max-issues flag needed for large repositories)The Release name should follow be named YYYY.XX.mm where YYYY is the year, XX is the incremental number of the release for the current year (starting from 01) and the second number mm is an incremental value (starting from 00) to increment for minor releases. Insert the tag vYYYY.XX.mm (notice the initial 'v' for the tag) to create when the release is published. In the release description describe the major changes and link the Changelog paragraph.
from the job configuration page there is a link to access the job workspace to easily download the built WAR and binary package