@@ -16,20 +16,69 @@ SlicerExecutionModel is documented here: https://www.slicer.org/wiki/Documentati
1616Contributing
1717------------
1818
19- Once you've made your great commits:
19+ There are many ways to contribute to SlicerExecutionModel, with varying levels of effort. Do try to
20+ look through the documentation first if something is unclear, and let us know how we can
21+ do better.
2022
21- 1 . [ Fork] [ fk ] SlicerExecutionModel
22- 2 . Create a topic branch - ` git checkout -b my_branch `
23- 3 . Push to your branch - ` git push origin my_branch `
24- 4 . Create an [ Issue] [ is ] with a link to your branch
25- 5 . That's it!
23+ - Ask a question on the [ Slicer forum] [ forum ]
24+ - Submit a feature request or bug, or add to the discussion on the [ issue tracker] [ is ]
25+ - Submit a [ Pull Request] [ pr ] to improve the SlicerExecutionModel or its documentation
2626
27+ We encourage a range of contributions, from patches that include passing tests and
28+ documentation, all the way down to half-baked ideas that launch discussions.
2729
28- Meta
29- ----
30+ ### How to submit a PR
3031
31- * Code: ` git clone git://github.com/Slicer/SlicerExecutionModel `
32- * Bugs: < http://github.com/Slicer/SlicerExecutionModel/issues >
32+ If you are new to SlicerExecutionModel development and you don't have push access to the
33+ SlicerExecutionModel repository, here are the steps:
34+
35+ 1 . [ Fork and clone] ( https://help.github.com/articles/fork-a-repo/ ) the repository.
36+ 2 . Create a branch.
37+ 3 . [ Push] ( https://help.github.com/articles/pushing-to-a-remote/ ) the branch to your GitHub fork.
38+ 4 . Create a [ Pull Request] [ pr ] .
39+
40+ This corresponds to the `` Fork & Pull Model `` mentioned in the
41+ [ GitHub flow] ( https://guides.github.com/introduction/flow/index.html ) guides.
42+
43+ If you have push access to SlicerExecutionModel repository, you could simply push your branch
44+ into the main repository and create a [ Pull Request] [ pr ] . This
45+ corresponds to the `` Shared Repository Model `` and will facilitate other developers to checkout your
46+ topic without having to [ configure a remote] ( https://help.github.com/articles/configuring-a-remote-for-a-fork/ ) .
47+ It will also simplify the workflow when you are * co-developing* a branch.
48+
49+ When submitting a PR, make sure to add a `` Cc: @slicer/slicerexecutionmodel `` comment to notify SlicerExecutionModel
50+ developers of your awesome contributions. Based on the
51+ comments posted by the reviewers, you may have to revisit your patches.
52+
53+ ### Automatic testing of pull requests
54+
55+ When you submit a PR to the SlicerExecutionModel repo, CircleCI will run the build and test suite on the
56+ head of the branch. If you add new commits onto the branch, those will also automatically
57+ be run through the CI process. The status of the CI process (passing, failing, or in progress) will
58+ be displayed directly in the PR page in GitHub.
59+
60+ The CircleCI build will run according to the [ circle.yml file] ( circle.yml ) ,
61+ which is useful as an example for how to set up your own environment for testing.
62+
63+ Your test results will be posted on [ SlicerExecutionModel's dashboard] ( http://slicer.cdash.org/index.php?project=SlicerExecutionModel ) .
64+ These results will list any failed tests. You can reach your
65+ build by clicking the build status link on your GitHub PR.
66+
67+ ### How to integrate a PR
68+
69+ Getting your contributions integrated is relatively straightforward, here is the checklist:
70+
71+ - All tests pass
72+
73+ - Consensus is reached. This requires that a reviewer adds an "approved" review via GitHub with no
74+ changes requested, and a reasonable amount of time passed without anyone objecting.
75+
76+ Next, there are two scenarios:
77+
78+ - You do NOT have push access: A SlicerExecutionModel core developer will integrate your PR.
79+ - You have push access: Simply click on the "Merge pull request" button.
80+
81+ Then, click on the "Delete branch" button that appears afterward.
3382
3483License
3584-------
@@ -45,4 +94,6 @@ limitations under the License.
4594
4695[ fk ] : http://help.github.com/forking/
4796[ is ] : http://github.com/Slicer/SlicerExecutionModel/issues
97+ [ pr ] : http://github.com/Slicer/SlicerExecutionModel/pulls
98+ [ forum ] : https://discourse.slicer.org/
4899
0 commit comments