Skip to content

Commit 0838d3b

Browse files
chore(issue_template): Update release tracking issue (#717)
* chore: Rework the release tracking template based on retro items from #694 * chore: Add pre-commit and fix lint issues * chore(olm-manifests): Replace versions with `YY.M(.X)` and `OO.M(.X)` placeholders * chore(release): Remove duplicate link * chore(yamllint): Remove `ignore` section Co-authored-by: Techassi <[email protected]>
1 parent 5091f61 commit 0838d3b

8 files changed

+273
-161
lines changed

.github/ISSUE_TEMPLATE/02-advanced-issue.md

+11-17
Original file line numberDiff line numberDiff line change
@@ -7,15 +7,13 @@ assignees: ''
77

88
---
99

10-
# Title
11-
1210
<!--
13-
- Ensure the title is specific and descriptive
11+
- Ensure the PR title is specific and descriptive
1412
- Avoid acronyms if possible
1513
-->
1614

1715
## Description
18-
16+
1917
<!--
2018
- "What" are we trying to achieve
2119
- Briefly describe what this issue aims to achieve
@@ -25,7 +23,7 @@ Examples:
2523
-->
2624

2725
## Value
28-
26+
2927
<!--
3028
- "Why" do we want to do this
3129
- Clearly define the value this brings to customers or why else it is important if not _directly_ for customers (e.g. internal tooling or improvements, technical debt, ...)
@@ -38,7 +36,7 @@ Examples:
3836
-->
3937

4038
## Dependencies
41-
39+
4240
<!--
4341
- Consider and name any internal and external dependencies and constraints
4442
- List all known necessary resources (e.g. cluster, customers, people, repositories, libraries...)
@@ -59,14 +57,14 @@ Examples:
5957
- Marketing / Showcase
6058
- Initial tasks might just be _separate_ research tasks, which, upon completion, lead to more tasks in this task/epic
6159
- When creating the list of tasks make sure to put them in an order and focus on creating minimum marketable features
62-
- This is the _Definition of Done_ which (mostly, exception are marketing tasks) represents the technical "completeness" of a task
60+
- This is the _Definition of Done_ which (mostly, exception are marketing tasks) represents the technical "completeness" of a task
6361
6462
Example:
6563
- Marketing: Prepare a blog post outlining the new CRD versioning support, our policies around CRD versioning and the current versions we do support
6664
-->
6765

6866
## Acceptance Criteria
69-
67+
7068
<!--
7169
- List acceptance criteria
7270
- Define clear objective criteria for when we would consider this issue "Done"
@@ -80,12 +78,11 @@ Example:
8078
- Traces are exported via OTLP and can be seen in Jaeger (or equivalent trace visualisation tool) (achieves a goal, while only being as prescriptive as necessary)
8179
- CRD versioning is seamlessly integrated into our operators, allowing for the specification of multiple versions within CRDs.
8280
- Backward compatibility is maintained for at least two previous versions of CRDs.
83-
-
8481
8582
-->
8683

8784
## (Information Security) Risk Assessment
88-
85+
8986
<!--
9087
- Outline any information security (this includes cybersecurity) or any other obvious risks and the controls how to mitigate them
9188
- This is relevant for ISO 27001, the Cyber Resilience Act and other standards/norms
@@ -99,7 +96,6 @@ Example:
9996
- ...
10097
-->
10198

102-
10399
## Accessibility Assessment
104100

105101
<!--
@@ -109,17 +105,16 @@ Example:
109105
-->
110106

111107
## Quality
112-
108+
113109
<!--
114110
- Outline how this issue will be tested
115111
- Compatibility:
116112
- Try to ensure compatibility with all our supported versions (e.g. Kubernetes, OpenShift, product versions)
117113
- List any potential compatibility issues you're aware of
118-
-->
119-
114+
-->
120115

121116
## Release Notes
122-
117+
123118
<!--
124119
- Write a short sentence or abstract that can go into the release notes
125120
- This way it is also documented for anyone finding _just this_ issue later
@@ -135,12 +130,11 @@ NOTE: This section is not meant to be displayed, therefore it is in a comment. Y
135130
- [ ] Delete everything that is irrelevant for this particular issue.
136131
- [ ] Add appropriate labels
137132
138-
139133
- There are different types of issues/epics, which might require different subsets (or no) sections of the above
140134
- e.g. "Update product versions"
141135
- e.g. "Implement new feature"
142136
- In the whole issue write out all acronyms that are not industry standard at least once. Example: OpenPolicyAgent (OPA)
143137
- If this is part of another issue please make sure to link the two in both places (parent & child)
144138
- If CRD changes (not necessarily breaking) are required, make sure structs/enums/fields are documented and are rendered properly in the CRD generation tool
145139
- Also see our [Development Philosophy](https://app.nuclino.com/Stackable/Stackable-Handbook/Development-Philosophy-ba280b20-b8cd-4fb6-a863-ff6d8c9f1af2)
146-
-->
140+
-->

.github/ISSUE_TEMPLATE/04-pre-release-openshift-tests.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ Part of <https://github.com/stackabletech/issues/issues/TRACKING_ISSUE>
2222

2323
Make sure to run the tests using the following parameters:
2424

25-
```
25+
```plain
2626
TEST_PLATFORM: OpenShift on replicated.com (4.15.0-okd)
2727
GIT_BRANCH_OR_TAG: origin/main
2828
OPERATOR_VERSION: 0.0.0-dev

.github/ISSUE_TEMPLATE/06-release.md

+114-71
Original file line numberDiff line numberDiff line change
@@ -4,118 +4,158 @@ about: This template can be used to track the progress of the SDP
44
title: "chore(tracking): SDP Release YY.M.X"
55
labels: ['epic']
66
assignees: ''
7-
87
---
98

109
<!--
1110
DO NOT REMOVE THIS COMMENT. It is intended for people who might copy/paste from the previous release issue.
1211
This was created by an issue template: https://github.com/stackabletech/issues/issues/new/choose.
1312
-->
1413

15-
# Stackable Release YY.M.X
16-
1714
> [!IMPORTANT]
1815
> Important dates:
16+
>
1917
> - ... - Release planning
2018
> - ... - Lock product versions
2119
> - ... - Final operator-rs release at CoB
2220
> - ... - Begin bumping operator-rs crates in each operator
23-
> - ... - Begin release-day tasks (release branches are cut)
21+
> - ... - Begin release-branching tasks
2422
> - ... - Target release date (marketable)
2523
26-
## Release checklists
27-
28-
Replace the items in the task lists below with the applicable Pull Requests / Issues
24+
> [!TIP]
25+
> Replace the items in the task lists below with the applicable Pull Requests / Issues.
2926
30-
### General Pre-Requisites (before Feature Freeze)
27+
## Early Pre-release tasks
3128

3229
> [!TIP]
3330
> These tasks should be done earlier in the process to lessen the burden at Pre-release time.
3431
35-
```[tasklist]
36-
### Early Pre-release tasks
37-
- [ ] [Create a "Release Retro" issue](https://github.com/stackabletech/issues/issues/new?template=08-release-retro.md)
32+
- [ ] [Create a "Release Retro" issue][epr-1]
3833
- [ ] Define product versions to include in the next release
39-
- [ ] [Update and release operator-rs workspace members](https://github.com/stackabletech/operator-rs/issues/new?template=release-workspace-members.md)
40-
- [ ] [Update Rust toolchain of operators](https://github.com/stackabletech/operator-templating/issues/new?template=pre-release.md)
41-
- [ ] [Update Rust dependencies of operators](https://github.com/stackabletech/issues/issues/new?template=05-pre-release-operator-rust-deps.md)
42-
- [ ] [Major or Minor Container Images updates](https://github.com/stackabletech/docker-images/issues/new?template=early-pre-release.md)
43-
- [ ] [Patch Container Images updates](https://github.com/stackabletech/docker-images/issues/new?template=early-pre-release.md)
44-
```
34+
- [ ] [Update and release operator-rs workspace members][epr-2]
35+
- [ ] [Update Rust toolchain of operators][epr-3]
36+
- [ ] [Update Rust dependencies of operators][epr-4]
37+
- [ ] [Major or Minor Container Images updates][epr-5]
38+
- [ ] [Patch Container Images updates][epr-5] (Do not reuse the previous issue)
39+
- [ ] Run `niv update` and test via `make run-dev` (operator-templating)
40+
41+
[epr-1]: https://github.com/stackabletech/issues/issues/new?template=08-release-retro.md
42+
[epr-2]: https://github.com/stackabletech/operator-rs/issues/new?template=release-workspace-members.md
43+
[epr-3]: https://github.com/stackabletech/operator-templating/issues/new?template=pre-release.md
44+
[epr-4]: https://github.com/stackabletech/issues/issues/new?template=05-pre-release-operator-rust-deps.md
45+
[epr-5]: https://github.com/stackabletech/docker-images/issues/new?template=early-pre-release.md
46+
47+
## Pre-release
4548

4649
> [!TIP]
4750
> These tasks should be done a week or so before the release date.
4851
49-
```[tasklist]
50-
### Pre-release
5152
- [ ] Run all of the test suites in Jenkins (with all product versions, not just "nightly")
52-
- [ ] [Check and update getting-started scripts](https://github.com/stackabletech/issues/issues/new?template=03-pre-release-getting-started-scripts.md)
53-
- [ ] [Check and update demo charts](https://github.com/stackabletech/demos/issues/new?template=pre-release-chart-updates.md)
54-
- [ ] [Test demos and upgrade from stable to nightly release](https://github.com/stackabletech/demos/issues/new?template=pre-release-upgrade-testing.md)
53+
- [ ] [Check and update getting-started scripts][pr-1]
54+
- [ ] [Check and update demo charts][pr-2]
55+
- [ ] [Test demo upgrades (stable to nightly)][pr-3]
56+
- [ ] [Test demos from scratch (nightly)][pr-4]
5557
- [ ] Ensure integration tests are successful on OpenShift (run with `--test-suite openshift` against Replicated OKD)
56-
- [ ] Check stackable-utils scripts in dry-run mode work
57-
```
58+
- [ ] Check [stackable-utils] scripts in dry-run mode work
59+
- [ ] Search for open issues labeled with [scheduled-for/YY.M.X][pr-5]
5860

59-
### Other Pre-Requisites (before Feature Freeze)
61+
[pr-1]: https://github.com/stackabletech/issues/issues/new?template=03-pre-release-getting-started-scripts.md
62+
[pr-2]: https://github.com/stackabletech/demos/issues/new?template=pre-release-chart-updates.md
63+
[pr-3]: https://github.com/stackabletech/demos/issues/new?template=pre-release-upgrade-testing.md
64+
[pr-4]: https://github.com/stackabletech/demos/issues/new?template=pre-release-from-scratch-testing.md
65+
[pr-5]: https://github.com/search?q=org%3Astackabletech+label%3Ascheduled-for%2FYY.M.X&type=issues&state=open
6066

61-
Search for open issues labeleded with [`scheduled-for/YY.M.X`](https://github.com/search?q=org%3Astackabletech+label%3Ascheduled-for%2FYY.M.X&type=issues&state=open)
67+
## Release branching
6268

63-
```[tasklist]
64-
### Other release-specific pre-requisites
65-
- [ ] Run `niv update` and test via `make run-dev` (operator-templating)
66-
```
69+
> [!CAUTION]
70+
> A small change freeze is required until these tasks have been completed.
6771
68-
### Feature freeze
72+
> [!TIP]
73+
> See [stackable-utils] for script to create tags and update changelogs.
6974
70-
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.
75+
- [ ] Create release branch for docker-images
76+
- [ ] Create release branches for operators
77+
- [ ] Create release branch for demos
78+
- [ ] _Wait for images to be built before proceeding_
7179

72-
### End of the release cycle (Release day)
80+
## Release candidate testing
81+
82+
> [!WARNING]
83+
> To be discussed during the on-site.
84+
>
85+
> Getting started scripts use particular product versions (this would have been updated in the
86+
> early-pre-release stage), however, at this point in time, the images will be tagged with an rcX
87+
> tag.
88+
89+
<!--
90+
91+
> [!TIP]
92+
> As issues are discovered, they can be fixed on the `main` branch, and cherry-picked into the release branch.
93+
>
94+
> Please ensure the changelog is updated and correct for the release after cherry-picking changes.
95+
> Please also keep PR links as they are in `main` (do not update them for the cherry-picked PR).
7396
74-
```[tasklist]
75-
#### Technical tasks
76-
- [ ] Create release branch for docker-images (see stackable-utils for script to create branches)
77-
- [ ] Create release branches for operators (see stackable-utils for script to create branches)
78-
- [ ] Create release branch for demos (see stackable-utils for script to create branches)
79-
- [ ] _Wait for images to be built_
8097
- [ ] [Check and update getting-started scripts](https://github.com/stackabletech/issues/issues/new?template=07-release-getting-started-scripts.md) for the Release Candidate
8198
- [ ] [Test demos and upgrade from previous to this release](https://github.com/stackabletech/demos/issues/new?template=release-upgrade-testing.md) for Release Candidate (only fresh install)
82-
- [ ] Create release tag(s) for docker-images (see stackable-utils for scripts to create tags)
83-
- [ ] Create release tag(s) for operators (see stackable-utils for scripts to create tags)
84-
- [ ] Update release version in changelogs on main branches (see stackable-utils for script to do this)
85-
- [ ] Generate CRD docs [website](https://crds.stackable.tech/) for the new release by following these [instructions](https://github.com/stackabletech/crddocs)
99+
100+
-->
101+
102+
## Release tagging
103+
104+
> [!TIP]
105+
> See [stackable-utils] for script to create tags and update changelogs.
106+
107+
- [ ] Create release tag(s) for docker-images
108+
- [ ] Create release tag(s) for operators
109+
- [ ] Update release version in changelogs on main branches
110+
- [ ] _Wait for images to be built before proceeding_
86111
- [ ] Test `stackablectl` with locally updated (to new release number) `releases.yaml`
87-
- [ ] Update `release.yaml` in https://github.com/stackabletech/release/blob/main/releases.yaml
88-
- [ ] [Check and update getting-started scripts](https://github.com/stackabletech/issues/issues/new?template=07-release-getting-started-scripts.md)
89-
- [ ] [Test demos and upgrade from previous to this release](https://github.com/stackabletech/demos/issues/new?template=release-upgrade-testing.md)
112+
- [ ] Update [release.yaml](https://github.com/stackabletech/release/blob/main/releases.yaml)
113+
- [ ] Release stackablectl
114+
115+
## Release verification
116+
117+
> [!TIP]
118+
> These tasks do not block the Documentation tasks below and can be done concurrently.
119+
120+
- [ ] [Check getting-started scripts][rv-1]
121+
- [ ] [Test demos from scratch (YY.M.X)][rv-2]
90122
- [ ] Check that an upgrade can be performed on an existing cluster without data loss (cycling demo)
91123
- [ ] Run all integration tests (for both `x86_64` and ~`aarch64`~ (defer aarch64 until interu is used))
92124
- [ ] Ensure integration tests are successful on OpenShift (run with `--test-suite openshift` against Replicated OKD)
93-
- [ ] Release stackablectl
94-
```
125+
126+
[rv-1]: https://github.com/stackabletech/issues/issues/new?template=07-release-getting-started-scripts.md
127+
[rv-2]: https://github.com/stackabletech/demos/issues/new?template=release-upgrade-testing.md
128+
129+
## Documentation tasks
95130

96131
> [!TIP]
97132
> Name the release-notes branch `docs/release-notes-YY.M.X` so that the link below takes you directly to the [Pull Request template][docs-pr-template].
98133
99-
[docs-pr-template]: https://github.com/stackabletech/documentation/tree/main/.github/PULL_REQUEST_TEMPLATE/release-notes.md&title=chore(tracking):%20Release%20Notes%20for%20SDP%20YY.M.X
100-
101-
```[tasklist]
102-
#### Documentation tasks
134+
- [ ] Generate CRD docs [website][dt-1] for the new release by following these [instructions][dt-2]
103135
- [ ] Create a stackabletech/documentation branch called `docs/release-notes-YY.M.X`
104136
- [ ] Compile list of new product features in newly supported versions for the YY.M.X release (for the blog post)
105-
- [ ] Begin writing the release notes with the [Pull Request template](https://github.com/stackabletech/documentation/compare/main...docs/release-notes-YY.M.X?template=release-notes.md&title=chore(tracking):%20Release%20Notes%20for%20SDP%20YY.M.X)
137+
- [ ] Begin writing the release notes with the [Pull Request template][dt-3]
106138
- [ ] Update SDP release version in `documentation/modules/ROOT/pages/getting-started.adoc` and test the release install command
107-
- [ ] Cut a release branch (see [scripts/make-release-branch.sh](https://github.com/stackabletech/documentation/blob/main/scripts/make-release-branch.sh))
108-
- [ ] Update releases in the playbook (see [scripts/publish-new-version.sh](https://github.com/stackabletech/documentation/blob/main/scripts/publish-new-version.sh))
139+
- [ ] Cut a release branch (see [scripts/make-release-branch.sh][dt-4])
140+
- [ ] Update releases in the playbook (see [scripts/publish-new-version.sh][dt-5])
109141
- [ ] Remove any references to HEAD and main from the Antora playbooks on the release branch (replace with the release branch)
110142
- [ ] Update antora.yaml version in stackabletech/demos on the release branch - the stackable-utils release-scripts should do this like they do for products and operators.
111143
- [ ] Set the release to "Released" in the Feature Tracker and create a new release (ping @lfrancke)
112-
- [ ] 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
113-
```
144+
- [ ] Update the [getting-started page][dt-6] in the main docs and check it works with this release
145+
146+
[dt-1]: https://crds.stackable.tech/
147+
[dt-2]: https://github.com/stackabletech/crddocs
148+
[dt-3]: https://github.com/stackabletech/documentation/compare/main...docs/release-notes-YY.M.X?template=release-notes.md&title=chore(tracking):%20Release%20Notes%20for%20SDP%20YY.M.X
149+
[dt-4]: https://github.com/stackabletech/documentation/blob/main/scripts/make-release-branch.sh
150+
[dt-5]: https://github.com/stackabletech/documentation/blob/main/scripts/publish-new-version.sh
151+
[dt-6]: https://github.com/stackabletech/documentation/blob/main/modules/ROOT/pages/getting-started.adoc
152+
[docs-pr-template]: https://github.com/stackabletech/documentation/tree/main/.github/PULL_REQUEST_TEMPLATE/release-notes.md&title=chore(tracking):%20Release%20Notes%20for%20SDP%20YY.M.X
114153

115-
Marketing tasks can now reference published documentation.
154+
## Marketing tasks
155+
156+
> [!NOTE]
157+
> Marketing material can now reference published documentation.
116158
117-
```[tasklist]
118-
#### Marketing tasks
119159
- [ ] Write marketing / customer oriented release summary to be published in the marketing channels
120160
- [ ] Update the homepage banner (as long as we have it) to point to the new release
121161
- [ ] Write a blogpost / news article announcing the new release (optional)
@@ -127,19 +167,22 @@ Marketing tasks can now reference published documentation.
127167
- [ ] 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
128168
- [ ] Post an announcement in Discord
129169
- [ ] Post an announcement on DOK Community in the #be-shameless Channel (Ping Lars or Jim)
130-
- [ ] Post an announcement via OSBA (Ping Lars, [email protected])
170+
- [ ] Post an announcement via OSBA (Ping Lars, <mailto:[email protected]>)
131171
- [ ] Send announcement to Kubernetes Podcast (Ping Lars)
132172
- [ ] Send announcement to Heiser
133173
- [ ] Ping the stackable-ionos-tech channel or anyone responsible once all tags are created
134-
```
135174

136-
```[tasklist]
137-
#### Post-release tasks
175+
## Post-release tasks
176+
138177
- [ ] Test demo upgrades, which were skipped in the previous testing (optional)
139-
- [ ] Update the list of supported SDP releases in Jira (ping Jim)
140-
- [ ] 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
141-
- [ ] Mark any releases older than one year as "end-of-life" [in the documentation](https://github.com/stackabletech/documentation/blob/f751e7ff7cddacae7d2c6c2c6c1d1c877c7aa11c/antora.yml#L18) (update antora.yaml on the applicable branches).
142-
- [ ] Post YY.M.X release retro (use issue created at the start of the process)
143-
- [ ] Update the release tracking template (optional)
144-
- [ ] [Create the next release tracking task](https://github.com/stackabletech/issues/issues/new?template=06-release.md) (if the date is available)
145-
```
178+
- [ ] Update the list of supported SDP releases in Jira (ping @Jimvin)
179+
- [ ] Openshift certification. [Create an issue][pt-1] to track the creation of the OLM manifests
180+
- [ ] Mark any releases older than one year as "end-of-life" in the documentation (update [antora.yaml][pt-2] on the applicable branches).
181+
- [ ] _Link to release retro issue (use issue created at the start of the process)_
182+
- [ ] Update the release tracking templates (optional)
183+
- [ ] [Create the next release tracking task][pt-3] (if the date is available)
184+
185+
[pt-1]: https://github.com/stackabletech/issues/issues/new?template=09-olm_manifests.md
186+
[pt-2]: https://github.com/stackabletech/documentation/blob/f751e7ff7cddacae7d2c6c2c6c1d1c877c7aa11c/antora.yml#L18
187+
[pt-3]: https://github.com/stackabletech/issues/issues/new?template=06-release.md
188+
[stackable-utils]: https://github.com/stackabletech/stackable-utils/blob/main/release/README.md

0 commit comments

Comments
 (0)