We release each repository of knative.dev
roughly every 3 months. Please check the release schedule to calculate when to start work on each checkpoint of a release timeline.
- All repos to be released are listed in this document
- Each repo indicates its releasability and other statuses, when applicable
- Each repo needs to be successfully updated to use the latest version of all dependencies before cutting its release branch
- T-minus 30 days
- T-minus 14 days
- T-minus 7 days
- T-minus 1 day
- T-minus zero - day of the release
- Post-release
- ✅ Open a release checklist issue.
- 📝 See these instructions for further guidance:
- Ensure that the releasability defaults have been updated.
- 📝 See instructions for guidance on updating the releasability defaults.
Cut the release branch of all the supporting repos. These are the base repos where we have common code and common scripts.
- 📄 Open a new release notes document for the release.
- 📣 Announce on the #knative Slack channel that the release will be cut in a week and that additional caution should be used when merging big changes.
- 👀 Verify that the nightly release automation is passing for each of the core
knative.dev
repos. If any is failing, reach out to the corresponding WG leads and ask them to investigate. Repeat throughout the week.
🚨 NOTES:
-
The release branch for each supporting repos must be done only after the branch for their dependencies is cut.
-
After each repo's release branch is cut, a dependency update might be required for the next repo in the sequence. It is doubly important to have a successful dependency check and subsequently verify its releasability before proceeding to cut the branch.
-
Automation will trigger all the downstream repos to update their dependencies to these new versions in the next few cycles. The goal is to have the first wave of repo releases (serving, eventing, etc) become "releasable" by the scheduled day of release. This is signaled via the reporting of the releasability status posted to the #knative-release Slack channel every morning (5am PST, M-F).
📝 See instructions for guidance on Releasing a repository and follow all the steps.
Repo | Releasability |
---|---|
knative.dev/hack | N/A |
knative.dev/pkg | |
knative.dev/networking | |
knative.dev/caching | |
knative.dev/reconciler-test |
🚨 NOTE: Continue to verify that the nightly release automation is passing for each knative.dev
repo in the subsequent phases. If any is failing at this point, reach out to the corresponding WG leads and ask them to investigate. Repeat until all are passing.
The release of the core repos starts on the first day of the release schedule.
🚨 NOTES:
-
It is not required that all repos in the included sub-sections be released on the same day the release is scheduled to start. The pipeline outlined below will take time to complete and it is ok for the release process to progress over days.
-
An extra reminder to wait for the
knative.dev/eventing
andknative.dev/serving
releases to be published before running a dependency check and subsequently verifying releasability on the repos that depend on these two packages. This will result in theirgo.mod
correctly looking like, for example,knative.dev/eventing v0.31.0
, instead ofknative.dev/eventing v0.30.1-0.20220419135228-39eef14419d8
. -
The release notes of a dependency are not a blocker for proceeding to cut a release for a repo.
We have a few repos inside of Knative that are not handled in the standard release process at the moment. They might have additional dependencies or depend on the releases existing. Skip these:
Repo | Version | Releasability | Nightly Job | Release Job |
---|---|---|---|---|
knative.dev/operator |
📝 See instructions for guidance on Releasing a repository and follow all the steps.
Repo | Version | Releasability | Nightly Job | Release Job |
---|---|---|---|---|
knative.dev/serving | ||||
knative.dev/net-contour | ||||
knative.dev/net-gateway-api | ||||
knative.dev/net-istio | ||||
knative.dev/net-kourier | ||||
knative.dev/eventing | ||||
knative.dev/sample-controller |
Repo | Version | Releasability | Nightly Job | Release Job |
---|---|---|---|---|
knative.dev/eventing-ceph | ||||
knative.dev/eventing-rabbitmq | ||||
knative.dev/sample-source |
This group can be started after both knative.dev/eventing
and knative.dev/serving
have been successfully published.
Note that client-pkg
is a supporting library and thus does NOT have a release job on Prow.
Repo | Version | Releasability | Nightly Job | Release Job |
---|---|---|---|---|
knative.dev/client-pkg | n/a | n/a | n/a |
Repo | Version | Releasability | Nightly Job | Release Job |
---|---|---|---|---|
knative.dev/client | ||||
knative.dev/eventing-kafka | ||||
knative.dev/eventing-redis | ||||
knative.dev/eventing-github | ||||
knative.dev/eventing-gitlab |
📝 See these instructions for further guidance: