Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Release v1.15 #316

Closed
dsimansk opened this issue Jul 3, 2024 · 8 comments
Closed

Release v1.15 #316

dsimansk opened this issue Jul 3, 2024 · 8 comments
Assignees

Comments

@dsimansk
Copy link
Contributor

dsimansk commented Jul 3, 2024

Timeline of a Knative release

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.

Repos to be released

  • 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

  • Release leads have been updated for the upcoming release (see procedure)
    • See workflow to check rollout: Owner Workflow

T-minus 14 days

  • Update release version in the following workflows

    • Releasability (see: procedure)
    • Check if Dependency Updates are working and the Knobots update-deps job has been bumped to the next release version (see: procedure)
  • An announcement has been made in the #knative Slack channel that knative.dev/pkg will be released in a week

T-minus 7 days - releasing supporting repos

Guidance on releasing a repository.

  • An announcement has been made in the #knative Slack channel that the cut of knative.dev/pkg is imminent
  • Check the status of the nightly builds. See the badge against each core repo in Phase 1. Let the working group leads know about failures and ask them to investigate.Repeat this process throughout the week. This should not be a blocker to start cutting the supporting repositories mentioned below.

Notes

  • Some of the supporting repos can be cut in parallel. Refer Aligning dependencies.
  • The release branch for each supporting repos must be done only after the branch for their dependencies is cut.

Cut Supporting Repositories

T-minus 1 day

  • Obtained ACK from each working group lead that the release is imminent and is green-lighted.

  • Re-check for status of the nightly releases and notify working group leads of failures. Repeat until all are passing.

Release Day(s)

  • If no acknowledgement is received from any of the WGL, send another message on slack and start working on the release after sometime.
  • Review the PROCEDURE on how to release a repo.
    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 release notes of a dependency are not a blocker for proceeding to cut a release for a repo.
  • The prow job web page is very slow to respond and you need to click only once to rerun the job.
  • Some repos can be released in parallel.Refer Aligning dependencies.

Phase 1 - Core Repositories (Can be started after all the supporting repos have been successfully released)

Phase 2 - Eventing Dependant Repositories (Can be started after knative/eventing has been successfully released)

Phase 3 - Sub-Supporting Repositories (Can be started after knative/eventing & knative/serving have been successfully released)

Phase 4 - Client-pkg Dependant Repositories (Can be started after knative/client-pkg has been successfully released)

Phase 5 - Remaining Repositories (Can be started after all the previous repos has been successfully released)

Final Phase

  • Talk to Vincent (Operator WG Lead) and have him cut (or help you cut) the knative/operator Releases
  • Knative Client Homebrew has been updated (see procedure)
  • Knative Client Plugins Homebrew has been updated (see procedure)

Post Release - after operator is cut

  • Release the knative.dev/docs (see procedure)
  • Release schedule has been updated in RELEASE-SCHEDULE.md and README.md
  • Collect release notes into the blog post and publish it (see procedure)
  • Knobots update-deps job has been bumped to the next release version (see procedure)
  • An announcement was made in the #knative Slack channels that the new Knative release is out
  • Revoke release leads permissions for the current release (see procedure)
  • Document any change(s) needed to improve the release process
@dsimansk
Copy link
Contributor Author

Hi all,
a quick update about release notes generator. For a while now, we use k8s release-notes tool through GH action per repo, then markdown is manually copied to gh's release. I've created a process change proposal to try out native GH's generator. A global release notes template was added yesterday to enable it (in a nutshell: a button in edit release view that populates release body content, see the PR for screenshot example). For the upcoming Knative release next week, we will try to use this generator. For the best result it works through PRs labels, our usual kind/, see the template PR for different categories. A small favor towards all WG leads, if you could triage through PRs (at least most significant) over last 3-months to get most of the benefits. For the future, it's should be part of a PR approval consideration to make sure it's labeled appropriately to benefit from it.

The above is per my post to Slack #knative-leads

@knative/knative-release-leads
Wrt/ upcoming release I'd strongly suggest we try GH's generated release notes whenever applicable and fallback to former GH action generator as a backup if needed. Please let me know if you have concerns or objections, thanks!

@ReToCode
Copy link
Member

@dsimansk I created the release notes for the first few repos with the template. Here my notes so far:

  • Very convenient
  • Adds a lot of the automated (auto bump) commits, which we probably should remove for less noise
  • We loose the manually added messages from the PR body (e.g. net-istio had an important one which I added manually)
  • We loose the diff of dependencies (versions/added/removed). IMHO discussable if we need that or not

@dsimansk
Copy link
Contributor Author

dsimansk commented Jul 23, 2024

Thanks, for the initial feedback @ReToCode!

  • Adds a lot of the automated (auto bump) commits, which we probably should remove for less noise

Do you have an example of those? The template ignores dependabot and knative-automation that can be expanded to certain labels, or further users/accounts.

  • We loose the manually added messages from the PR body (e.g. net-istio had an important one which I added manually)

That's unfortunate. Yes, only PR's title is used to describe the change.

  • We loose the diff of dependencies (versions/added/removed). IMHO discussable if we need that or not

Agreed, it's valuable reference from time to time. E.g. for quick CVE check. I recall per TOC discussion it wasn't recognized as a great loss, though.

@ReToCode
Copy link
Member

Do you have an example of those? The template ignores dependabot and knative-automation that can be expanded to certain labels, or further users/accounts.

Here for example in net-contour:

[add release notes here]

## What's Changed
* [main] Update community files by @knative-automation in https://github.com/knative-extensions/net-contour/pull/1081
* [main] Update community files by @knative-automation in https://github.com/knative-extensions/net-contour/pull/1082
* [main] Update community files by @knative-automation in https://github.com/knative-extensions/net-contour/pull/1083
* [main] Upgrade to latest dependencies by @knative-automation in https://github.com/knative-extensions/net-contour/pull/1084
* [main] Update community files by @knative-automation in https://github.com/knative-extensions/net-contour/pull/1086
* [main] Upgrade to latest dependencies by @knative-automation in https://github.com/knative-extensions/net-contour/pull/1085
* [main] Upgrade to latest dependencies by @knative-automation in https://github.com/knative-extensions/net-contour/pull/1087
* Set CORS policy values only for when HTTPProxy associated with external visibility by @izabelacg in https://github.com/knative-extensions/net-contour/pull/1088
* [main] Upgrade to latest dependencies by @knative-automation in https://github.com/knative-extensions/net-contour/pull/1090
* [main] Update actions by @knative-automation in https://github.com/knative-extensions/net-contour/pull/1092
* [main] Upgrade to latest dependencies by @knative-automation in https://github.com/knative-extensions/net-contour/pull/1094
* Fix nil pointer dereference error when parsing config map by @izabelacg in https://github.com/knative-extensions/net-contour/pull/1095
* Bump Contour to version 1.29 by @izabelacg in https://github.com/knative-extensions/net-contour/pull/1091
* [main] Upgrade to latest dependencies by @knative-automation in https://github.com/knative-extensions/net-contour/pull/1098
* [main] Update community files by @knative-automation in https://github.com/knative-extensions/net-contour/pull/1097
* [main] Upgrade to latest dependencies by @knative-automation in https://github.com/knative-extensions/net-contour/pull/1099
* [main] Update community files by @knative-automation in https://github.com/knative-extensions/net-contour/pull/1102
* [main] Upgrade to latest dependencies by @knative-automation in https://github.com/knative-extensions/net-contour/pull/1103
* use chainguard image by @dprotaso in https://github.com/knative-extensions/net-contour/pull/1101
* [main] Upgrade to latest dependencies by @knative-automation in https://github.com/knative-extensions/net-contour/pull/1104
* bump contour and k8s deps by @dprotaso in https://github.com/knative-extensions/net-contour/pull/1105
* [main] Upgrade to latest dependencies by @knative-automation in https://github.com/knative-extensions/net-contour/pull/1106
* [main] Upgrade to latest dependencies by @knative-automation in https://github.com/knative-extensions/net-contour/pull/1107
* [main] Upgrade to latest dependencies by @knative-automation in https://github.com/knative-extensions/net-contour/pull/1108
* [main] Update community files by @knative-automation in https://github.com/knative-extensions/net-contour/pull/1109
* fix system internal encryption by @dprotaso in https://github.com/knative-extensions/net-contour/pull/1110
* Default TLS certificate shouldn't be applied to cluster local routes by @dprotaso in https://github.com/knative-extensions/net-contour/pull/1111
* [main] Upgrade to latest dependencies by @knative-automation in https://github.com/knative-extensions/net-contour/pull/1113
* fix boilerplate by @dprotaso in https://github.com/knative-extensions/net-contour/pull/1114
* Add support for cluster local tls by @dprotaso in https://github.com/knative-extensions/net-contour/pull/1112
* [main] Upgrade to latest dependencies by @knative-automation in https://github.com/knative-extensions/net-contour/pull/1115


**Full Changelog**: https://github.com/knative-extensions/net-contour/compare/knative-v1.14.0...knative-v1.15.0

@dsimansk
Copy link
Contributor Author

@ReToCode it doesn't seem, the template is applied org-wide as I was expecting. I'll look into that.

@dsimansk
Copy link
Contributor Author

Final item to complete before closing the checklist.

knative/community#1597

@dsimansk
Copy link
Contributor Author

Done, thank you all @skonto @ReToCode @Cali0707 @Leo6Leo!

/close

I'll follow-up on the release notes issues, given it didn't work as expected so far.

@knative-prow knative-prow bot closed this as completed Jul 30, 2024
Copy link

knative-prow bot commented Jul 30, 2024

@dsimansk: Closing this issue.

In response to this:

Done, thank you all @skonto @ReToCode @Cali0707 @Leo6Leo!

/close

I'll follow-up on the release notes issues, given it didn't work as expected so far.

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants