Julia TagBot for GitLab
A minimal clone of TagBot for registries hosted on GitLab.
Creates tags, releases, and changelogs when Julia packages are registered.
License
tagbotgitlab is provided under an MIT License.
Deployment
- Install the Serverless Framework.
- Run
npm install. - Set the following environment variables:
GITLAB_URL: The base URL of your GitLab instance (not its API).GITLAB_API_TOKEN: A GitLab API access token. It should have write access to all repositories that you want to create tags on.GITLAB_WEBHOOK_TOKEN: A secure secret that you have generated.REGISTRATOR_ID: The ID of the user making Registrator merge requests.AUTOMATIC_MERGE: Set totrueto enable automatic merge of merge requests. Enabling this feature requires the user to have Maintainer privileges on the registry, and for the "Prevent approval of merge requests by merge request author" repository setting to be disabled.
- Run
serverless deploy --stage prodto deploy the API. - Create a webhook on your registry repository. The URL should be the one that appeared after the last step. The secret token should be the one that you generated earlier. Only "Merge request events" should be enabled.
This code is tested on GitLab version 11.11.0-ee.
Changelogs
TagBotGitlab creates a changelog for each release based on the issues that have been closed and the merge requests that have been merged. Unlike TagBot, TagBotGitLab currently does not support custom release notes or customizable templates.
Issues and pull requests with specified labels are not included in the changelog data. By default, the following labels are ignored:
- changelog skip
- duplicate
- exclude from changelog
- invalid
- no changelog
- question
- wont fix
White-space, case, dashes, and underscores are ignored when comparing labels.