arlon icon indicating copy to clipboard operation
arlon copied to clipboard

document and implement an official release process that uses GitHub releases

Open bcle opened this issue 2 years ago • 2 comments

Today we tag, version, publish binaries, and publish images in a manual way. We need to document and automate as much as possible a release process. Use existing OSS projects (e.g. argocd, CAPI) as a reference that we could potentially model after.

Aha! Link: https://pf9.aha.io/features/ARLON-127

bcle avatar Jul 06 '22 22:07 bcle

We now publish the CLI on GitHub using GoReleaser To create a release,

  • Identify a commit to create a tag from by running git rev-parse --short HEAD
  • Run git tag -a <tag> <commit> -m "commit message" e.g. git tag -a v0.3.5 0f3ce97 -m "v0.3.5 : Support for nodelet-provider, AWS regions in clusterspec, Upgrade ArgoCD lib to 2.2.12 and k8s to 1.22.12"
  • The GitHub action (workflow) for GoReleaser will create a release when a tag is pushed (other than a 0.3.* tag on the 0.3 branch) that will contain a changelog of latest commits, and CLI downloadables as compressed tarballs.
  • Collaborators on GitHub can create a new controller image by running make docker-build; make docker-push
  • To push a docker image, you will need contributor permissions
  • A contributor will have to be logged in to GitHub using personal authentication token as
  • echo $GH_PAT | docker login [ghcr.io](http://ghcr.io/) -u GITHUB_USERNAME --password-stdin

  • The controller image has same version as the content of the version file in the base folder of this repository.

cruizen avatar Sep 09 '22 21:09 cruizen

This looks interesting https://github.com/argoproj/argo-cd/blob/master/.github/workflows/release.yaml Can we do something similar? This PR https://github.com/arlonproj/arlon/pull/174 partially fixes this issue. We can proceed to add controller image release automation

Rohitrajak1807 avatar Sep 13 '22 07:09 Rohitrajak1807