-
Notifications
You must be signed in to change notification settings - Fork 0
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
Move to time based releases and update LTS #7
Conversation
RELEASES.md
Outdated
For example, 1.0.0 to 1.2.0 is not supported. One should first upgrade to 1.1, | ||
then 1.2. | ||
|
||
There are no compatibility guarantees with upgrades to _major_ versions. For |
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.
This should probably be updated to discuss the upgrade path from 1.7.x to 2.0.x.
We don't need to make it a part of this change, but we also need to cover LTS upgrades; i.e., can you upgrade directly from one LTS to the next?
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, we should revisit this section
e3b8b90
to
7a80402
Compare
RELEASES.md
Outdated
guarantees are provided. | ||
The maintainers will maintain a roadmap and milestones for each release, however, | ||
features may be pushed to accomodate the release timeline. If your issue or feature | ||
is not present in the roadmap, please reach out to the maintainers or leave a |
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.
is not present in the roadmap, please reach out to the maintainers or leave a | |
is not present in the roadmap, please open a GitHub issue |
RELEASES.md
Outdated
issue or PR is not present in a milestone, please reach out to the maintainers | ||
to create the milestone or add an issue or PR to an existing milestone. | ||
While pre-releases are done to assist in the stabilization process, no quality | ||
guarantees are provided. |
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.
Maybe remove this sentence, as no "guarantee" is provided for any release
RELEASES.md
Outdated
> extended support, it will continue to accept security patches in addition to client | ||
> changes relevant for package importers using the 1.6 LTS daemon. | ||
Long term stable (_LTS_) releases are sponsored by at least two maintainers for at least two | ||
years after their initial _minor_ release. The maintainers of the _LTS_ branch may commit to a |
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.
"initial minor release" is .0 or .1?
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.
Updated to mention x.y.0
RELEASES.md
Outdated
are both active maintainers and one of which has been involved in two prior releases. | ||
|
||
Once the final release is out and the release branch moves to active, ownership will be | ||
transferred back over to all maintainers. Active releases are maintained by all maintainers |
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.
s/maintainers/Committers/g
RELEASES.md
Outdated
from their source branch. For major and minor releases, these releases will be | ||
done from main. For patch releases, these pre-releases should be done within | ||
the corresponding release branch. | ||
Minor releases are time based with a target cadence of 6 months. The next two |
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.
Maybe this cadence should be marked tentative until 2026.
We have to have a couple of releases to evaluate whether this plan is feasible in practice
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 updated from "target cadence" to "initial cadence". I think the following sentence makes it clear that the cadence is open to change, let me know if that is not clear though
RELEASES.md
Outdated
releases to support the longer term maintainability of the branch, including library dependency, | ||
toolchain (including Go) and other version updates which are needed to ensure each release is built | ||
with fully supported dependencies. Feature backports are up to the discretion of the maintainers who | ||
own the branch but should be rejected by default. There is no limit to the number of _LTS_ branches |
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.
Probably a soft-limit can be set.
It doesn't sound realistic to keep maintaining more than 3 LTS branches
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.
Updated to say "no defined limit", we can define a limit if needed in the future
9f2a200
to
84f7bc5
Compare
RELEASES.md
Outdated
> by Go modules, 1.7 must be supported until EOL of all 1.x releases. Once 1.7 is in | ||
> extended support, it will continue to accept security patches in addition to client | ||
> changes relevant for package importers using the 1.6 LTS daemon. | ||
Long term stable (_LTS_) releases are sponsored by at least two maintainers for at least two |
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.
Do we need a file to track who the sponsor of the LTS is?
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.
This file should be the source of truth
RELEASES.md
Outdated
ownership transferred back to all committers. | ||
|
||
|
||
### All Releases |
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.
maybe we should add column for LTS's sponsor?
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.
Thats what the owners field is intended for
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.
a few proposed changes
- __*Future*__: An upcoming scheduled release. | ||
- __*Alpha*__: The next scheduled release on the main branch under active development. | ||
- __*Beta*__: The next scheduled release on the main branch under testing. Begins 8-10 weeks before a final release. | ||
- __*RC*__: The next scheduled release on the main branch under final testing and stabilization. Begins 2-4 weeks before a final release. For new releases where the source branch is main, the main branch will be in a feature freeze during this phase. | ||
- __*Active*__: The release is a stable branch which is currently supported and accepting patches. | ||
- __*Extended*__: The release branch is only accepting security patches. |
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.
- __*Extended*__: The release branch is only accepting security patches. | |
- __*Extended*__: The release branch is only accepting security patches any other critical updates would require formal exception approval at the discretion of the committers. |
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.
Updated to say "and critical updates", up the discretion of the owners has to always be applied I think. Applying something "critical" shouldn't have be an exception, only defining what is "critical"
Signed-off-by: Derek McGowan <[email protected]>
84f7bc5
to
a3cad56
Compare
RELEASES.md
Outdated
on the current release cadence. Any changes to the release cadence will avoid | ||
impacting releases which are already scheduled. |
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.
on the current release cadence. Any changes to the release cadence will avoid | |
impacting releases which are already scheduled. | |
on the current release cadence. Changes to the release cadence will not | |
impact releases which are already scheduled. |
RELEASES.md
Outdated
### Release Owners | ||
|
||
Every release shall be assigned owners when entering into the beta stage of the release. The initial | ||
release owners will act as the release captains and will be responsible for creating the releases and |
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.
We should either define or omit the term "release captains". I think it's clear enough without including that; the owners are responsible for doing these things.
RELEASES.md
Outdated
release owners will act as the release captains and will be responsible for creating the releases and | ||
ensuring the release is on time. Once the release is in rc, the release owners should be part of any | ||
discussion around merging impactful or risky changes. Every release should have two owners who | ||
are both active maintainers and one of which has been involved in at least two prior releases. |
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.
What are the "involved in" requirements? Does that just mean "a maintainer during the Active state of that release" or acting in some other capacity?
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'll update to has been a release owner to make it more explicit. The idea is that it would allow non-committers to be involved with releases. We can leave it up to us how we would define release owners for prior releases, but I plan to be involved in the next two scheduled releases to help transition the process anyway. I can update to "at least" two if that will help train more folks if necessary.
d0a53f4
to
d8262af
Compare
Adds new criteria and schedule for time based releases. Adds more ownership and roles for the different phases of the release process. Signed-off-by: Derek McGowan <[email protected]>
Signed-off-by: Derek McGowan <[email protected]>
d8262af
to
1fc48b9
Compare
Adds new criteria and schedule for time based releases. Adds more ownership and roles for the different phases of the release process.
Updates LTS definition and schedule