For Maintainers

The gwf build, testing and deployment process is automated through Travis.

Merging Changes

  1. Make sure that the changes have proper test coverage, e.g. by checking the branch on Coveralls.

  2. Check that the PR includes necessary updates of CHANGELOG.rst and CONTRIBUTORS.rst.

  3. Always make a merge commit (don’t rebase/fast-forward). The merge commit will be referenced in the change log.

  4. Add the change to the change log for the coming (draft) release on GitHub. Make sure to follow the formatting used in previous change logs. Also, read about how to keep a change log.

Rolling a New Release

  1. Make sure that all changes for the new release have been merged into master and that tests pass. Check Travis.

  2. Make any other release-related changes such as adding new contributors to CONTRIBUTORS.rst or adding missing items to CHANGELOG.rst.

  3. Increase the version number in gwf/__init__.py

  4. Commit the changes and push the branch. Wait for tests to run.

  5. Make a new release by tagging the merge commit with the version number, e.g. vX.X.X. Push the tag and wait for Travis to catch up.

  6. Run make package, then make publish to publish the source distribution and wheel to PyPI.

  7. Run make package-conda, then make publish-conda

The documentation will be automatically be built.