UNCLASSIFIED - NO CUI

Skip to content

Add Automated CI Release

Micah Nagel requested to merge release into master

First half of MR resolves https://repo1.dso.mil/platform-one/big-bang/bigbang/-/issues/227

  • Two new stages for pipeline runs on tags - package & release
  • Package stage
    • grabs all images run, removes upstream istio & rancher ones
    • makes use of a tests/images.txt file from the repo to add additional images if needed (happy to change location on this, wasn't sure where to put it)
    • uses a default synker file located in pipeline repo to pull down all images and then tars them up
    • grabs any dependency repos and tars them up (uses tests/dependencies.yaml)
    • dumps repos, images, and image list (txt) into S3 bucket
    • parses the changelog to automate release notes, if no changelog entry defaults to ALL CAPS SCREAMING AT USER TO ADD THEM
  • Release stage
    • runs gitlab release cli
    • uses a new pipeline var RELEASE_NAME to title the release (+adds tag), defaults to ${CI_PROJECT_NAME}
    • links the assets in S3
    • uses the release notes created in package stage (could do that here, but gitlab ci image doesn't have some utils needed to parse changelog)

Second part of MR is some long-needed cleanup:

  • Added yq to pipeline image and use that for dependency handling (we were previously using an ugly bash "parsing" of yaml, switched to yq which makes it more readable and tolerant)
  • Changed dependency file to match a more standard approach across Big Bang w/ yaml (package.git.repo and package.git.tag rather than package.git and package.branch) - this is backwards compatible though so no pipelines will break
  • Properly use every dependency's custom wait scripts (previously only used the last) - bug fix

Closes https://repo1.dso.mil/platform-one/big-bang/bigbang/-/issues/227

Edited by Micah Nagel

Merge request reports