-
Notifications
You must be signed in to change notification settings - Fork 1.3k
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
Releasing process updates #3911
Open
codebien
wants to merge
7
commits into
master
Choose a base branch
from
update-release-process
base: master
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Changes from all commits
Commits
Show all changes
7 commits
Select commit
Hold shift + click to select a range
98e6c1e
Implement the release flow branching strategy
codebien d2895d8
Apply suggestions from code review
codebien eb106f5
Apply suggestions from code review
codebien 85af08c
Text adjusted
codebien 10e52ef
Relax the backporting policy
codebien e328391
Reverted the bump of the version to stay at the end of the cycle
codebien 32ba97c
Integrated with dedicated patches
codebien File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,48 @@ | ||
--- | ||
name: k6 Hotfix release | ||
about: Bugs or security issues have been identified and they requires a patch release. | ||
title: 'k6 hotfix release v<major>.<minor>.<patch>' | ||
labels: ["release"] | ||
--- | ||
|
||
**Release Date**: | ||
|
||
25th May 2024 << TODO: WRITE HERE THE UPDATED RELEASE DATE | ||
|
||
## Release Activities | ||
|
||
Note, the assumption is a minor branch release already exists from the latest minor release. This branch is named in the format `release-v<major>.<minor>.x`. | ||
|
||
#### Documentation | ||
|
||
- [ ] If required, open and merge pull-request from `main` applying the changes to the affected version. | ||
|
||
#### In k6 repository, if the defect affects the latest release and the `master` branch | ||
|
||
- [ ] Open, get approvals and merge on `master` the patch for the defect. | ||
codebien marked this conversation as resolved.
Show resolved
Hide resolved
|
||
- [ ] Open, get approvals and merge on `master` the release notes. Ensure that all merged pull-requests are referenced. | ||
- [ ] Switch on the release branch and cherry-pick the following changes: | ||
1. the patch for the defect | ||
2. the release notes | ||
joanlopez marked this conversation as resolved.
Show resolved
Hide resolved
|
||
- [ ] Open, get approvals and merge on the already existing release branch a separate pull-request for bumping [the k6 Go project's version](https://github.com/grafana/k6/blob/master/lib/consts/consts.go#L11-L12). Note, `master` should be already on a next major/minor version. | ||
- [ ] Pull locally the previously merged changes. | ||
- [ ] Create and push a new tag of the form `vX.Y.Z` using git. For instance, if the current release is v0.52, the command could look like `git tag v0.52.1 -m "v0.52.1"` if this is the first hotfix. | ||
- [ ] If the defect affects DefinitelyTyped's definitions, open a pull request in the `DefinitelyTyped/DefinitelyTyped` repository by creating a branch on the `grafana/k6-DefinitelyTyped` fork, to update the k6 type definitions. | ||
|
||
#### In k6 repository, if the defect affects the latest release but not the `master` branch | ||
|
||
The steps are the same as the previous, with the unique exception that the patch pull request has to be directly merged against the release branch instead of being cherry-picked. | ||
|
||
#### In k6 repository, if the defect affects the latest release and the `master` branch but they are not anymore the same compatible code. | ||
|
||
The union of the previous steps have to be executed, where the changes have to be applied independently to both branches without cherry-picking. Each version get a dedicated patch. | ||
|
||
#### Announcements | ||
|
||
- [ ] Publish a link to the new GitHub release in the #k6-changelog channel. | ||
- [ ] Notify the larger team in the #k6 channel, letting them know that the release is published. | ||
|
||
## Wrapping Release | ||
|
||
- [ ] Ensure the `DefinitelyTyped/DefinitelyTyped` PR(s) are merged. | ||
- [ ] Update the k6 repository's `.github/ISSUE_TEMPLATE/hotfix-release.md` in the event steps from this checklist were incorrect or missing. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Strictly speaking, that's outside the scope of this PR but... what's the plan for docs?
Have a folder per minor? Like:
v1.0.x
,v1.1.x
, etc?There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Good question 👀 @heitortsergent do you maybe have insights on how you folks handle that in other projects?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I don't have insights into how other projects handle minor versions, and we also handle versions differently than them (folders vs branches).
@jdbaldry would you have any insight here? Is it just a matter of renaming/creating folders for minor versions?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm not sure I understand, sorry. Are you not already maintaining a directory of documentation per minor version of k6?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Oh yes, I misread it too, I'm sorry. I thought this was in case we had to release a patch version.
For other projects, they would just have a branch for each minor version, which is the equivalent of our folders in k6-docs. Is that right @jdbaldry?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yeah, most repositories have long-lived version branches for future patching and such, where the docs are maintained alongside the code. Since grafana/k6-docs is a docs-only repository, it's simpler to just have directories in the main branch instead.