|
| 1 | +# InnerSource Patterns Workflow |
| 2 | + |
| 3 | +This document describes the workflow for writing, reviewing and publishing |
| 4 | +InnerSource ideas, donuts and patterns. It utilizes Pull Requests to facilitate |
| 5 | +collaborative reviews. |
| 6 | + |
| 7 | +There are two separate repositories needed for this workflow: |
| 8 | + |
| 9 | +* [InnerSourcePatterns][patternsRepo] |
| 10 | +* [InnerSourceCommons][commonsRepo] |
| 11 | + |
| 12 | +### InnerSourcePatterns repository |
| 13 | + |
| 14 | +This is a private repository where new ideas, donuts and patterns are published |
| 15 | +and reviewed by the patterns community **prior to** publishing them on |
| 16 | +[innersourcecommons.org][commons] ,Inside of this |
| 17 | +repository we're using the standard GitHub workflow where we have one main |
| 18 | +branch - the master branch. Contributions are done via fork and pull-requests. |
| 19 | + |
| 20 | +### InnerSourceCommons repository |
| 21 | + |
| 22 | +This is where ideas, donuts and patterns will be published **after** they have |
| 23 | +been reviewed and accepted by the reviewers. Inside of this repository we're |
| 24 | +using the standard GitHub workflow where we have one main branch - the master |
| 25 | +branch. Contributions are done via fork and pull-requests. This repository |
| 26 | +contains the sources for the GitHub pages website for innersourcecommons.org. |
| 27 | + |
| 28 | +## Workflow |
| 29 | + |
| 30 | +### Working inside of the InnerSourcePatterns repository |
| 31 | + |
| 32 | +# [Create an issue] for each new idea, donut or pattern in the |
| 33 | + [patterns repository][patternsRepo]. The issue should |
| 34 | + * contain the name of the pattern, |
| 35 | + * contain a short description (at least the problem) and |
| 36 | + * be labeled with the appropriate label (_idea_, _donut_, _pattern_) |
| 37 | +# Create a new branch either in your clone or fork of the |
| 38 | + [patterns repository][patternsRepo]. Please use the following pattern for |
| 39 | + naming branches: `pattern/<patternName>`. Example: |
| 40 | + `pattern/contractedContributor`. |
| 41 | +# Create a _Markdown_ file with the description of the _idea_, _donut_ or |
| 42 | + _pattern_ and store it in the main directory. Commit and push. |
| 43 | +# Once your contribution is ready to be reviewed, create a pull request |
| 44 | + targeted at `master` and label it with either _idea_, _donut_ or _pattern_ |
| 45 | + and _Ready for Review_. |
| 46 | +# Reviewer can now use the PR features to comment on the pattern. |
| 47 | +# After the review is complete, the reviewers should remove the label |
| 48 | + _Ready for Review_ and label the pattern _Accepted_ or don't apply any label |
| 49 | + in case rework is necessary. |
| 50 | +# In case of required rework, the author should apply the labels |
| 51 | + _Ready for Review_ and _Revised_ to indicate that a 2nd review is requested. |
| 52 | +# Once a pattern was labeled _Accepted_ by the reviewers, one of the TCs of the |
| 53 | + [patterns repository][patternsRepo] will then move the pattern to either the |
| 54 | + `ideas`, `donuts` or `patterns` subdirectories, merge it to `master` and |
| 55 | + close the associated issue. |
| 56 | + |
| 57 | +### Publishing a InnerSource pattern on innersourcecommons.org (InnerSourceCommons repository) |
| 58 | + |
| 59 | +* for each new pattern which should be published a new issue should be created |
| 60 | + * the issue should contain the name of the pattern and a link to it inside of |
| 61 | + the InnerSourcePatterns repository |
| 62 | +* every publishing process of a pattern idea, donut or draft should start on a |
| 63 | +dedicated branch, originating from `master` starting with |
| 64 | +`feature/[issue-number]---[title]` |
| 65 | + |
| 66 | +## License |
| 67 | + |
| 68 | +tbd: we have to agree what license we apply to the |
| 69 | +[patterns repository][patternsRepo] by default. |
| 70 | + |
| 71 | +[commons]: http://innersourcecommons.org |
| 72 | +[patternsRepo]: https://github.com/paypal/InnerSourceCommons-patterns |
| 73 | +[commonsRepo]: https://github.com/paypal/InnerSourceCommons |
0 commit comments