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 ReleaseAction to create a new release, pass in the desired version number to release.- note: choose the right
branchto execute the action: usemainwhen creating a new release. Userelease-x.ywhen you want to bump a LTS release.
- note: choose the right
- GitHub Release, Changelog will be created by the
release.ymlworkflow which also promotes the container image. - update Helm Chart, see below
- update OLM bundle, see helm-operator docs
Release Helm Chart
- Update
versionand/orappVersioninChart.yamland runmake helm.docs helm.update.appversion - If there is any CRD change, run
make helm.test.updateandmake helm.test - push to branch and open pr
- run
/ok-to-test-managedcommands 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
minorrelease: create a new branchrelease-x.y - on a
patchrelease: 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.