Skip to content

chore: improve the release task list with more explicit steps #602

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

Merged
merged 15 commits into from
Sep 11, 2024

Conversation

NickLarsenNZ
Copy link
Member

@NickLarsenNZ NickLarsenNZ commented Jul 12, 2024

Some of the tasks were too vague, and were done out of order.
This change should help improve the process for the next release.

Part of #632


Preview of release.md - 7ed5a81

Stackable Release XX.(X)X

[!IMPORTANT]
Important dates:

  • ... - Release planning
  • ... - Target release date

Release checklists

Replace the items in the task lists below with the applicable Pull Requests / Issues

General Pre-Requisites (before Feature Freeze)

### Week 1
- [ ] [Update and release operator-rs workspace members](https://github.com/stackabletech/operator-rs/issues/new?template=release-workspace-members.md)
- [ ] [Update Rust toolchain of operators](https://github.com/stackabletech/operator-templating/issues/new?template=pre-release.md)
- [ ] [Update Rust dependencies of operators](https://github.com/stackabletech/issues/issues/new?template=pre-release-operator-rust-deps.md)
- [ ] [Update Container Images](https://github.com/stackabletech/docker-images/issues/new?template=pre-release.md)
### Week 2
- [ ] [Check and update getting-started script](https://github.com/stackabletech/issues/issues/new?template=pre-release-getting-started-scripts.md)
- [ ] [Test and update demos stable to nightly](https://github.com/stackabletech/issues/issues/new?template=pre-release-demos-nightly.md)
- [ ] Ensure integration tests are successful on OpenShift
- [ ] Test SDP release upgrade against several demos (i.e. install current release, run demo, bump to dev release, check what needs to be patched)
- [ ] Run all of the test suites in Jenkins (with all product versions, not just "nightly")

Other Pre-Requisites (before Feature Freeze)

Search for open issues labeleded with scheduled-for/20XX-X

### Other release-specific pre-requisites
- [ ] ...

Feature freeze

This will not be so crucial with release branches, but is nonetheless sensible as it will make it easier to cherry-pick any release-related bugfixes from main into the release branch.

End of the release cycle (Release day)

#### Technical tasks
- [ ] Create release branches for docker-images (see stackable-utils for script to create branches)
- [ ] Create release tag(s) for docker-images (see stackable-utils for scripts to create tags)
- [ ] Create release branches for operators (see stackable-utils for script to create branches)
- [ ] Create release tag(s) for operators (see stackable-utils for scripts to create tags)
- [ ] Create release tag for stackable-cockpit (optional, highly experimental, requires manual tag creation)
- [ ] Update changelogs in main branches (see stackable-utils for script to do this)
- [ ] Generate CRD docs [website](https://crds.stackable.tech/) for the new release by following these [instructions](https://github.com/stackabletech/crddocs)
- [ ] Check (selected) integration tests
- [ ] Check getting started scripts (use a table in Nuclino)
- [ ] Run/check getting-started scripts
- [ ] Run/check demos with dev release and main branch and create draft PR for release-related changes
- [ ] Test with locally updated (to new release number) `releases.yaml`
- [ ] Update `release.yaml` in https://github.com/stackabletech/release/blob/main/releases.yaml
- [ ] Check that an upgrade can be performed on an existing cluster without data loss.
- [ ] Run all of the test suites
#### Documentation tasks
- [ ] Check the Changelog and/or issue labels to compile Release Highlights
- [ ] Upgrade guide: Document how to use stackablectl to uninstall all and install new release
- [ ] Upgrade guide: Document how to use helm to uninstall all and install new release
- [ ] Upgrade guide: Every breaking change of all our operators
- [ ] Upgrade guide: List dropped supported product versions (if there are some)
- [ ] Upgrade guide: List dropped supported operators (if there are some)
- [ ] Upgrade guide: List supported k8s versions
- [ ] Update version of main documentation repo
- [ ] Set the release to "Released" in the Feature Tracker and create a new release
- [ ] Update the getting-started page in the main docs and check it works with this release: https://github.com/stackabletech/documentation/blob/main/modules/ROOT/pages/getting_started.adoc

Marketing tasks can now reference published documentation.

#### Marketing tasks
- [ ] Write marketing / customer oriented release summary to be published in the marketing channels
- [ ] Update the homepage banner (as long as we have it) to point to the new release
- [ ] Write a blogpost / news article announcing the new release (optional)
- [ ] Write a description of new demos for homepage/demos section
- [ ] Announce Release on LinkedIn
- [ ] Announce Release in Newsletter (optional)
- [ ] Produce a release highlight video (optional)
- [ ] Announce Release on Hacker News (optional)
- [ ] Post an announcement in the GitHub [Discussions Announcement forum](https://github.com/stackabletech/community/discussions/categories/announcements) and make it a pinned discussion while at the same time removing the old pinned thread
- [ ] Post an announcement in Discord
- [ ] Post an announcement on DOK Community in the #be-shameless Channel (Ping Lars or Jim)
- [ ] Post an announcement via OSBA (Ping Lars, info@osb-alliance.com)
- [ ] Send announcement to Kubernetes Podcast (Ping Lars)
- [ ] Send announcement to Heiser
- [ ] Ping the stackable-ionos-tech channel or anyone responsible once all tags are created
### Post-release tasks
- [ ] Update the list of supported SDP releases in Jira (ping Jim)
- [ ] Bump Rust version. This can be done [in this file](https://github.com/stackabletech/operator-templating/blob/main/config/rust.yaml) by changing `rust_version` and also for the ubi base image [here](https://github.com/stackabletech/docker-images/blob/main/ubi8-rust-builder/Dockerfile#L25). Please be aware that this action will change it for all repositories at the same time (when merging the templating PRs).
- [ ] Check/bump versions of kube-rs and k8s-openapi (also checking the version of k8s we build against)
- [ ] Check/bump ubi9 base image
- [ ] preflight now checks automatically it's own version and only runs if latest ~~Check/bump preflight~~
- [ ] Openshift certification. Create an issue from this [template](https://github.com/stackabletech/issues/blob/main/.github/ISSUE_TEMPLATE/olm_manifests.md) for the OLM manifests
- [ ] Define product versions to include in the next release
- [ ] Add branch protection to release branches once they are stable
- [ ] Mark any older releases that are now end-of-life as such in the documentation (Ping Felix)

@NickLarsenNZ NickLarsenNZ self-assigned this Jul 12, 2024
xeniape
xeniape previously approved these changes Jul 12, 2024
Copy link
Member

@xeniape xeniape left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@Techassi
Copy link
Member

I would like to see some more changes. I can push what I have in mind to this PR if @NickLarsenNZ is okay with that.

@NickLarsenNZ
Copy link
Member Author

I also had an idea to make some more issue templates in repos, and then refer to them in this task list.

That way they won't get too details in a small box.

@Techassi
Copy link
Member

I also had an idea to make some more issue templates in repos, and then refer to them in this task list.

That way they won't get too details in a small box.

I like the idea! Then we can keep it simple in this template and add more details in the operator issue template.

@adwk67
Copy link
Member

adwk67 commented Jul 23, 2024

Release notes
A comment on compiling the release notes. For 24.7, I compared the individual changelogs with the list of PRs and found the changelogs to be of little/no help:

  • some issues that are intentionally omitted from the CLs (e.g. docs) are still useful for highlighting to users (e.g. the production-ready rego rule documentation for Trino and HDFS)
  • some things are missed or incomplete (e.g. where a change spans more than one PR, or vice-versa)

It is quicker to run through an (overly) exhaustive list of PRs than to try and merge two different sources of information.
Clearly documented epics are also a great help as they link to the PRs e.g. #594 and stackabletech/demos#59.

@Techassi
Copy link
Member

Thanks for the input!

Regarding the changelogs, we had a lot of discussions via direct messages. At this point in time many voices raised issues with the changelogs in general (missing entries, linking to wrong PRs, partial entries, format and spelling errors) and the current workflow around them.

That's why I think it is appropriate to revisit the following decision: https://github.com/stackabletech/decisions/issues/9 which was put on hold. I would also be happy to spend time on coming up with a new workflow, documentation and changes required in our repos to make this approach work.

@NickLarsenNZ

This comment was marked as resolved.

@NickLarsenNZ NickLarsenNZ marked this pull request as ready for review September 10, 2024 15:21
Copy link
Member

@Techassi Techassi left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM, just one minor nit.

Co-authored-by: Techassi <sascha.lautenschlaeger@stackable.tech>
@NickLarsenNZ NickLarsenNZ merged commit 9c0eddf into main Sep 11, 2024
1 check passed
@NickLarsenNZ
Copy link
Member Author

Release notes A comment on compiling the release notes. For 24.7, I compared the individual changelogs with the list of PRs and found the changelogs to be of little/no help:

* some issues that are intentionally omitted from the CLs (e.g. docs) are still useful for highlighting to users (e.g. the production-ready rego rule documentation for Trino and HDFS)

* some things are missed or incomplete (e.g. where a change spans more than one PR, or vice-versa)

It is quicker to run through an (overly) exhaustive list of PRs than to try and merge two different sources of information. Clearly documented epics are also a great help as they link to the PRs e.g. #594 and stackabletech/demos#59.

@adwk67, the product image update templates have Acceptance Criteria for release note text to be provider, and a release-note label to be added if necessary.

Other templates will also need this, and will follow the same idea.

NickLarsenNZ added a commit that referenced this pull request Oct 2, 2024
* chore: restore container images tracking issue.

It was removed in #605

- [ ] Decide what to do with [docker-images/pre-release.md](https://github.com/stackabletech/docker-images/blob/5324e044a8aaac10e68767ba2b3c39e2623724f1/.github/ISSUE_TEMPLATE/pre-release.md?plain=1)

See: #602 (comment)

* chore: refer to renamed template from stackabletech/docker-images#850

* chore: remove old template
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Archived in project
Development

Successfully merging this pull request may close these issues.

4 participants