Skip to content

Commit 8fad08e

Browse files
authored
Add new pattern for Release Process/Published Artifacts (#332)
Add pattern for release process
1 parent 6ebf9cb commit 8fad08e

File tree

2 files changed

+52
-0
lines changed

2 files changed

+52
-0
lines changed

README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -83,6 +83,7 @@ This is why we keep these patterns at the bottom of the list.
8383
* [Share Your Code to Get More Done - Likely Contributors Variant](patterns/1-initial/share-your-code-to-get-more-done.md)
8484
* [Code Consumers](patterns/1-initial/code-consumers.md)
8585
* [Explaining InnerSource to Management by anchoring it to Agile / DevOps / Lean](patterns/1-initial/concept-anchor.md)
86+
* [Standarized Release Process](patterns/1-initial/release-process.md) - *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.*
8687

8788
#### Donuts (needing a solution)
8889

patterns/1-initial/release-process.md

Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
## Title
2+
3+
Standard Release Process and Published Artifacts
4+
5+
## Patlet
6+
7+
Teams may be reluctant to use InnerSource projects that they are unfamiliar with when there is no clear release process apparent in the repository.
8+
Providing clear release notes and a published artifact (binary, docker image, jar, etc) gives people confidence you are publishing a quality product.
9+
10+
## Problem
11+
12+
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.
13+
14+
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.
15+
16+
## Context
17+
18+
It is common practice in Open Source projects to have releases, with release notes documenting breaking changes,
19+
new features, etc along with either a published binary or link to a Docker image. This practice may not be as
20+
transparent or well documented/visible for InnerSource projects, modules, etc. Providing robust release notes
21+
along with a published artifact that is the result of a clearly documented and visible release process builds trust and confidence in your project.
22+
23+
## Forces
24+
25+
- Difficult for organizations that don't have a central CI/CD system
26+
- Adds the burden of publishing release notes
27+
- Becomes more difficult if the organization does not provide an internal location to host artifacts
28+
29+
## Solution
30+
31+
- CI/Delivery Pipeline is located within your repo to build artifacts (binary, docker image, jar, etc)
32+
- Releases and accompanying build artifacts are generated by CI system at build time
33+
- Release includes notes on New Features, Bug Fixes, and any "Breaking Changes" specifically called out
34+
35+
A good example of quality Release notes can be found [here](https://github.com/jaegertracing/jaeger/releases)
36+
37+
## Resulting Context
38+
39+
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.
40+
41+
## Known Instances
42+
43+
Comcast
44+
45+
## Authors
46+
47+
David Grizzanti
48+
49+
## Status
50+
51+
**Initial** - FYI we are considering splitting "Published Artifacts" into its own pattern

0 commit comments

Comments
 (0)