Automated release process
Refactors gitlab_ci_templates into lib, jobs, and pipelines to support automated releases and artifact publishing of this or other repositories.
Changes
bump-version
bump-version wrapper script wraps bump2version CLI in an opinionated way that allows for a release cycle similar to maven-release-plugin.
That is:
- Development happens in main or in branches, but always on a '.dev' version.
- Releases remove the '.dev' suffix, and make versioned tags.
You can bump any semantic part of the version at any time, but this will always leave the '.dev' suffix. Only when bumping with the --release flag will '.dev' be removed and a tag be made.
Gitlab CI templates
Templates are refactored into:
- lib: referenc-eable snippets and variables only
- jobs: individual pipeline jobs declared
- pipelines: strings of jobs useful for specific kinds of pipelines.
These templates are intended to be used by other gitlab repos to automate releases and artifact publishing.