-
Notifications
You must be signed in to change notification settings - Fork 7
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Update RELEASE guidelines to introduce a standardized process,
primarily aimed at reducing noise.
- Loading branch information
1 parent
87d6ee6
commit 99c7cd3
Showing
2 changed files
with
39 additions
and
1 deletion.
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,38 @@ | ||
This is a formalization of our release process that attempts to clarify the | ||
criteria for release. We still use versioning from [SemVer](http://semver.org). | ||
|
||
|
||
### Release Noise | ||
|
||
In the past, we have released generally on a whim by cutting a minor version when a fix | ||
gets applied for a particular bug or problem that an individual wants to use. However, | ||
in many cases, the external audience does not need or want this fix, and pushing it immediately | ||
increases the risk that someone else's workflow breaks. When this happens with high frequency, | ||
it can be frustrating to work with. | ||
|
||
To reduce release noise, we are establishing additional release rules | ||
|
||
## Release Rules | ||
|
||
##### Patch change rules | ||
|
||
Patches should generally not require their own release for active components. In general, | ||
patches should be part of HEAD for **two weeks** before creating an official release, unless | ||
the change is immediately required by an external user to unblock their workflow. Changes like | ||
this should be approved through our normal release process. | ||
|
||
##### Minor change rules | ||
|
||
In general, we don't want to release minor version bumps of components more frequently than | ||
every **two weeks**. We do not wish to impose a strict release schedule at this point, however, | ||
so this is just a rough guideline. The two week timer begins when the first new code gets committed in to a | ||
component. This is to ensure that developers have more time and chance to get exposed to the changes | ||
before they are exposed to external users. | ||
|
||
##### Major change rules | ||
|
||
Major changes typically represent major API changes to the code, and must not be released | ||
directly to master without additional testing. Major changes should be part of a release | ||
candidate for at least **one week** before they are promoted to a full release, or longer | ||
depending on the complexity. They should have documented testing done (in the PR or elsewhere) | ||
and several people should be involved in vetting the new code internally. |
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