FAQ | This is a LIVE service | Changelog

Add release CI template

Previously, this ticket aimed to implement a CI release template based on the semantic-release tool. However, the initial use case for the template is the Digital Admissions project and the semantic-release tool doesn't fit their desired workflow very well. Therefore, this issue has been converted into a more general CI release template POC using the release-it tool instead, initially trying to automate the Digital Admissions team's current workflow.

For this POC the template should ideally:

  • Play nicely with Auto-DevOps.
  • Have two modes, toggled by a variable:
    • The default mode should be a basic job which runs on any merge to the default branch and simply executes release-it using the config found in a .release-it.json file in the repo root.
      • This enables comparable functionality to the semantic-release tool.
    • The second mode should implement a similar workflow to the release-please tool which was developed by the googleapis team. In this workflow, when changes land on the default branch release-it would generate/update a draft MR containing changes to the changelog, package.json/pyproject.toml files etc. Then, when the team are ready to make a new release they simply merge this MR. When the MR is merged release-it will then perform the tagging and create the GitLab release.
      • This mode of operation will hopefully fit the Digital Admissions workflow nicely as this is essentially how they currently work, queuing up unreleased changes ready for release, albeit in a very manual fashion currently.
      • The reason we can't simply use the release-please tool is that it doesn't currently support GitLab.
Edited by Ryan Kowalewski