-
Notifications
You must be signed in to change notification settings - Fork 196
Add new pattern for Release Process/Published Artifacts #332
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
Changes from all commits
Commits
Show all changes
13 commits
Select commit
Hold shift + click to select a range
f55b435
Add pattern for release process
dgrizzanti 0a4a5c2
Move to initial
dgrizzanti b8779e6
Move to initial
dgrizzanti fc4c3a6
Incorporating review comments
dgrizzanti 191cac6
Update patterns/1-initial/release-process.md
dgrizzanti a23436b
Update patterns/1-initial/release-process.md
dgrizzanti b41dd9c
Update patterns/1-initial/release-process.md
dgrizzanti d77836d
Update patterns/1-initial/release-process.md
dgrizzanti d01d1d0
Incoporate feedback
dgrizzanti 0e2ce8d
Add note to status about splitting pattern
dgrizzanti 4f47921
Fixing typo
spier 89992c1
Minor formatting change
spier 3a11d3d
Adding patlet to list entry for the pattern
spier 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 hidden or 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
This file contains hidden or 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,51 @@ | ||
## Title | ||
|
||
Standard Release Process and Published Artifacts | ||
|
||
## Patlet | ||
|
||
Teams may be reluctant to use InnerSource projects that they are unfamiliar with when there is no clear release process apparent in the repository. | ||
Providing clear release notes and a published artifact (binary, docker image, jar, etc) gives people confidence you are publishing a quality product. | ||
|
||
## Problem | ||
|
||
When a team is deciding whether or not to use an InnerSource projects, one of their considerations is whether they trust that they can rely on the given project for an extended period. Switching the tools/projects that they are using has a cost, so they only want to make those investments sporadically. | ||
|
||
It reduces trust if the given InnerSource projects doesn't have a published artifact or publicly viewable release process, as the team won't know when they can expect new features or the next release, how breaking changes are handled, etc. | ||
|
||
## Context | ||
|
||
It is common practice in Open Source projects to have releases, with release notes documenting breaking changes, | ||
new features, etc along with either a published binary or link to a Docker image. This practice may not be as | ||
transparent or well documented/visible for InnerSource projects, modules, etc. Providing robust release notes | ||
along with a published artifact that is the result of a clearly documented and visible release process builds trust and confidence in your project. | ||
|
||
## Forces | ||
|
||
- Difficult for organizations that don't have a central CI/CD system | ||
- Adds the burden of publishing release notes | ||
- Becomes more difficult if the organization does not provide an internal location to host artifacts | ||
|
||
## Solution | ||
|
||
- CI/Delivery Pipeline is located within your repo to build artifacts (binary, docker image, jar, etc) | ||
- Releases and accompanying build artifacts are generated by CI system at build time | ||
- Release includes notes on New Features, Bug Fixes, and any "Breaking Changes" specifically called out | ||
|
||
A good example of quality Release notes can be found [here](https://github.com/jaegertracing/jaeger/releases) | ||
|
||
## Resulting Context | ||
|
||
Teams who come across your project will see published release notes and gain confidence in your tool. Published artifacts also make using your product easier and quicker to adopt. Having well-defined and visible processes such as these also help with cross-team collaboration and new contributors. Folks can be confident that their contributions are made available and distributed in a reasonable amount of time with a clear usage path. | ||
|
||
## Known Instances | ||
|
||
Comcast | ||
|
||
## Authors | ||
|
||
David Grizzanti | ||
|
||
## Status | ||
|
||
**Initial** - FYI we are considering splitting "Published Artifacts" into its own pattern |
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.
Uh oh!
There was an error while loading. Please reload this page.