Making a release

As a part of PR #199, we now have infrastructure in place to make releases automatically. This automation can be triggered by running a workflow dispatch on the Build container images workflow. This workflow takes the version to be tagged and released as its only input.

This workflow will produce a draft release with autogenerated release notes. It is recommended that important features get highlighted in the release notes for a release. Kustomize manifests will be uploaded as release artifacts, which can be later consumed by infra-deployments.

Deploying a release to infra-deployments

A release will largely be managed by infra-deployments. To update the version of konflux-workspaces running in infra-deployments, you'll need to do three things:

  1. Update the manifests using the new release's manifests, and changes the images in components/konflux-workspaces/staging to point at the new release.
  2. Test out the deployed version to ensure it functions as expected.
  3. Update the image references in components/konflux-workspaces/production to roll out these changes to production.

If a release adds or removes resources when compared to a previous release, care must be taken to ensure that production does not break. In this case, staging and production will need to refer to different kustomize manifests, which will prevent production from pulling in resources that have not yet been tested and validated on staging.

TODO: fill this with more detail once this actually happens.