Release Process
ESO and the ESO Helm Chart have two distinct lifecycles and can be released independently. Helm Chart releases are named external-secrets-x.y.z
.
The external-secrets project is released on a as-needed basis. Feel free to open a issue to request a release.
Release ESO
- Run
Create Release
Action to create a new release, pass in the desired version number to release.- note: choose the right
branch
to execute the action: usemain
when creating a new release. Userelease-x.y
when you want to bump a LTS release.
- note: choose the right
- GitHub Release, Changelog will be created by the
release.yml
workflow which also promotes the container image. - update Helm Chart, see below
- update OLM bundle, see helm-operator docs
Release Helm Chart
- Update
version
and/orappVersion
inChart.yaml
and runmake helm.docs helm.update.appversion
- If there is any CRD change, run
make helm.test.update
andmake helm.test
- push to branch and open pr
- run
/ok-to-test-managed
commands for all cloud providers - merge PR if everyhing is green
- CI picks up the new chart version and creates a new GitHub Release for it
- create/merge into release branch
- on a
minor
release: create a new branchrelease-x.y
- on a
patch
release: merge main intorelease-x.y
- on a
Release OLM Bundle
In order to make the latest release available to OperatorHub.io we need to create a bundle and open a PR in the community-operators repository.
To create a bundle first increment the VERSION
in the Makefile as described above. Then run the following commands in the root of the repository:
# clone repo
git clone https://github.com/external-secrets/external-secrets-helm-operator
cd external-secrets-helm-operator
# bump version
export VERSION=x.y.z
sed -i "s/^VERSION ?= .*/VERSION ?= ${VERSION}/" Makefile
# prep release
make prepare-stable-release ATTACH_IMAGE_DIGESTS=0
Check the generated files in the bundle/
directory. If they look good add & commit them, open a PR against this repository. You can always use the OperatorHub.io/preview page to preview the generated CSV.
git status
git add .
git commit -s -m "chore: bump version xyz"
git push
Once the PR is merged and the image build job on main
has completed, we need create a pull request against both community-operators repositories. There's a make target that does the heavy lifting for you:
make attach-image-digests
make bundle-operatorhub
This command will add/commit/push and open pull requests in the respective repositories.