Automated Testing of Pull Requests

Currently, two automated tests are performed on every pull request (at least those into PrincetonUniversity/XGC-Devel), a compilation check and a large file test. The compilation check that is managed with CircleCI makes sure that the code in the pull requests compiles without errors. A pull request that does not compile is not allowed to be merged. At this time, compilation errors found with CircleCI can be viewed only on the CircleCI website. In the near future, the results of the compile test will be posted to CDash, where code developers will be able to see the error messages.

All admins who want to merge a pull request must make sure that all requirements for merging are met. Do not override a merge block unless you are 100% aware of what you are about to merge.

Pull Request Status

Status window of a pull request on GitHub. All pull requests require at least one approving review before merging them, and they need to pass all checks (currently: compiling test, large file test). Once all requirements for merging are met, the lower box should display a green dot and say that the pull request can be merged.

The second automated test checks a pull request for large files. If large files (such as executables or data) are included in the pull request, the pull request is rejected. See the next paragraph “Large File Policy” for details.