Test and roll out changelog generation using GitLab Pages
In &351 (closed) and &399 (closed) we are rolling out the ability to generate changelogs using the GitLab API.
To test these changes using developers, we would like to start with testing the new workflow and tooling using GitLab Pages. Pages is a fairly self contained project, with not too much development activity that a different process becomes a burden.
Testing process
During the testing period, developers are asked to annotate their commits
(should they go in the changelog) with the Git trailer Changelog
. This trailer
can have the following values:
- added
- fixed
- changed
- deprecated
- removed
- security
- performance
- other
This means that when a commit should go in the changelog, it will look something like this:
The subject of the commit message.
More details about the change here, if necessary.
Changelog: fixed
This would be done in addition to the process currently used by GitLab Pages. Further, changelogs would be generated on a separate branch using a manually triggered API call (by Delivery team members). Keeping the old process in tact for the time being ensures our testing doesn't affect releases. We generate the new changelogs on a separate (temporary) branch for the same reason.
When reviewing merge requests, reviewers should ensure the appropriate Git trailer is used whenever a commit is supposed to go in a changelog. This is similar to reviewing changelog files in the main GitLab project.
@yorickpeterse will take care of setting up the necessary configuration files, and is the contact person for any feedback.
Testing period
Starting February 4th, until we have enough data (most likely around the 10th).
After testing
Should the new process be deemed a success, we want it to replace the old process used by GitLab Pages. It appears this is currently a manual process. As GitLab Pages isn't managed by Release Tools, the easiest would be to introduce some script that performs the necessary API call(s) to update the changelog. Pages developers can then run this script whenever necessary.