The Metrics Server is released on an as-needed basis. The process is as follows:
- An issue is proposing a new release with a changelog since the last release https://github.com/kubernetes-sigs/metrics-server/compare
- At least one OWNER must LGTM this release
- A PR that bumps version hardcoded in code is created and merged
- An OWNER creates a draft GitHub release
- An OWNER creates an issue to release the corresponding Helm chart via the chart release process (below)
- An OWNER creates a release tag using
GIT_TAG=$VERSION make release-tagand waits for prow.k8s.io to build and push new images to gcr.io/k8s-staging-metrics-server - A PR in kubernetes/k8s.io is created to release images to
k8s.gcr.io - An OWNER publishes the GitHub release. Once published, release manifests will be automatically added to the release by CI.
- An announcement email is sent to
kubernetes-sig-instrumentation@googlegroups.comwith the subject[ANNOUNCE] metrics-server $VERSION is released - The release issue is closed
A new chart should be released whenever a new version of Metrics Server is
released, but releases can also be done on an as-needed basis. Most chart
releases for the latest Metrics Server version can take place on the master
branch. However, if a release is a backport or the chart on master is no longer
compatible, the PR should target the release branch.
The chart release process is as follows:
- An issue is proposing a new chart release
- The issue is used to document the release process
- A PR is opened to update Chart.yaml with the
appVersion,version - The PR triggers the chart linting and testing GitHub action to validate the chart
- The PR is merged and a GitHub action releases the chart
If the release has happened on a release branch the issue will need manually closing.