A pull request to a SciTools project master should be ready to merge into the master branch.
All pull request will be reviewed by a core developer who will manage the process of merging. It is the responsibility of a developer submitting a pull request to do their best to deliver a pull request which meets the requirements of the project it is submitted to.
The check list summarises criteria which will be checked before a pull request is merged. Before submitting a pull request please consider this list.
- the aim of the change ; the problem addressed ; a link to the issue.
- how the change has been delivered.
- a “What’s New” entry, submitted as a new file added in the pull request. See Contributing a “What’s New” entry.
- The Iris tests may be run with python setup.py test which has a command line utility included.
- a standard Iris test checks that all sourcefiles include a copyright message, including the correct year of the latest change (see “iris.tests.test_coding_standards.TestLicenseHeaders”).
- refer to the developer guide on docstrings
- these are strongly recommended as concrete (working) examples always considerably enhance the documentation.
- live test code can be included in docstrings.
- See for example iris.cube.Cube.data
- Details at http://www.sphinx-doc.org/en/stable/ext/doctest.html
- The documentation tests may be run with make doctest, from within the ./docs/iris subdirectory.
- this should be done for all changes that affect API or behaviour. See Contributing a “What’s New” entry
- The documentation is built using make html in ./docs/iris.
- Run with make doctest and make extest, from within the subdirectory ./docs/iris.
- note that code examples must not raise deprecations. This is now checked and will result in an error. When an existing code example encounters a deprecation, it must be fixed.
./.travis.yml is used to manage the continuous integration testing.
- the files ./conda-requirements.yml and
./minimal-conda-requirements.yml are used to define the software environments used, using the conda package manager.
- the following separate repos are used to manage larger files used by tests and code examples :
- iris-test-data is a github project containing all the data to support the tests.
- iris-sample-data is a github project containing all the data to support the gallery and examples.
- test-images-scitools_ is a github project containing reference plot images to support iris graphics tests : see test graphics images.
- If new files are required by tests or code examples, they must be added to the appropriate supporting project via a suitable pull-request. This new ‘supporting pull request’ should be referenced in the main Iris pull request, and must be accepted and merged before the Iris one can be.