Resolve "Add Release Pipeline Logic" [no rc]
Closes #1 (closed)
See osdu/platform&9 (closed) for more details.
MR's Raison d'être
This MR adds in the automated release candidate logic. Whenever a change is made on the default branch (almost always due to merging an MR), the resulting pipeline will create a new detached commit, set the pom version to 0.10.0-rcN
(where N is a simple counter), and apply a tag. This allows services that need this change to depend on the RC version, which will not change as additional features are developed and merged into the default branch (unlike the SNAPSHOT dependency, which does change frequently).
Note that if the commit message contains [no rc]
, then this process is skipped for that commit. Adding [no rc]
to the MR title is one way to inject it into the merge commit message. This is useful for changes / improvements that aren't immediately demanded by another service; such as refactors, bug-fixes, build system updates, etc.
While release candidate branches allow services to upgrade through the core libraries at their own pace during development, all services will need to upgrade to the latest released library during the release process.
Housekeeping Updates
Update Deprecated Pipeline Includes
This MR also updates the .gitlab-ci.yml
file to use the newer pipeline includes, rather than relying on deprecated includes that mimic old behavior. These housekeeping updates should be done regularly on MRs when they are discovered so the old CI include files can be deleted and no longer supported.