The Karpenter project is an SIG autoscaling project that has the following two components:
- Kubernetes Custom Resource Definitions (CRDs)
- Corresponding Go API in the form of
sigs.k8s.io/karpenterGo package
This repository is the home for both of the above components.
The versioning strategy for this project is covered in detail in the release type section of the compatability documentation.
The following steps must be done by one of the Karpenter Maintainers:
For a MAJOR, MINOR, or RC release:
- Verify the CI tests pass before continuing.
- Create a tag using the current
HEADof themainbranch by usinggit tag v<major>.<minor>.<patch> - Push the tag to upstream using
git push upstream v<major>.<minor>.<patch> - This tag will kick-off the Release Workflow which will auto-generate release notes into the repo's Github releases.
For a PATCH release:
- Create a new branch in the upstream repo similar to
release-v<major>.<minor>.xthat's checked out from the latest released tag fromHEADonv<major>.<minor>if one doesn't already exist. - Create a branch in your fork (origin) repo similar to
<githubuser>/release-v<major>.<minor>.<patch>. Use the new branch in the upcoming steps. - Use
gitto cherry-pick all relevant PRs into your branch. - Create a pull request of the
<githubuser>/release-v<major>.<minor>.<patch>branch into therelease-v<major>.<minor>.xbranch upstream. Wait for at least one maintainer/codeowner to provide algtm. - Verify the CI tests pass and merge the PR into
release-v<major>.<minor>.x. - Create a tag using the
HEADof therelease-v<major>.<minor>.xbranch by usinggit tag v<major>.<minor>.<patch> - Push the tag to upstream using
git push upstream v<major>.<minor>.<patch> - This tag will kick-off the Release Workflow which will auto-generate release notes into the repo's Github releases.