Pull Requests
Pull Requests in GitHub provide an interface for others to review and test your code. Testing pull requests is a good way to start contributing to the RST.
Code Check List
Before submitting a PR, please check the following:
- copyright and disclaimer, or modification line is added (see RST copyright & license)
- the code compiles and runs with no additional warnings
- the new code has been tested on your own machine
- user documentation has been included/updated
- the code is on its own git branch
- all code is pushed to the remote branch on Github
Creating the PR
To create a PR, navigate to RST's Pull Requests
and click on New pull request. If templates are available, select the one that is most appropriate.
Merging Direction
In general, new code should be merged to develop. Possible exceptions to this rule are:
- if a new feature/update will be added in several stages, merge to an intermediate branch (
git checkout -bfrom the intermediate branch) -
merge to
masterONLY if it is a HOTFIX or RELEASE branch.Note
HOTFIX is a substantial fix for a bug that prevents users from installing or using RST or gives inaccurate data. Documentation fixes can also be seen as a HOTFIX as they do not require a new release or DOI.
-
Small changes to documentation can be merged to
master(e.g. fixing typos)
Writing a PR
Follow the template to fill out the required sections. If there is no template, please provide the following information:
- Informative title
- Description of the changes you made
- What people should focus on when testing/reviewing the code
- How to install the code if this has changed
- Code fragments showing how to test the code and the expected output/plots
- Any extra details that might be useful during testing
Extra Tidbits
Pull requests on GitHub provide several additional features to help you get a useful code review:
- Request a review from a specific person
- Add labels to categorize the PR (e.g. bugfix, enhancement)
- Indicate that the PR is part of a project, if applicable
- Assign a milestone, if applicable
- Link the PR to an issue, if applicable
Draft Pull Requests
Draft Pull Requests are a way to tell reviewers that your code is not ready to be merged yet. This might be useful in the following situations:
- The draft PR is dependent on another PR being merged or tested first
- The code has a major bug and you would like some assistance to fix it
- The code needs further work, but you would like some feedback on what you have already done
Guidelines
Here are some general guidelines to follow with Pull Requests:
- Do not merge your own code!
- If at least 2 people have "approved" the code, anyone (including the code author) may merge it
- Make sure your code is complete before creating a PR (to reduce additional commit emails)
- Make sure your code is tested on various operating systems if needed
- Optional: code is reviewed in a Code Review