wwt_data_formats/RELEASE_PROCESS.md

1.5 KiB

The wwt_data_formats release process

These are notes for the wwt_data_formats developers about how to create a new release.

  1. Create a branch intended to become the next release.
  2. Finish features, test functionality, etc.
  3. python setup.py sdist and verify contents.
  4. Make sure that CHANGES.md is up-to-date.
  5. For the final commit, update the version number in setup.py and docs/conf.py, and add a proper version and date to CHANGES.md. Commit with message Release version ${version}.
  6. Push to GitHub and create a pull request for the new release called "Release PR for version $version".
  7. Get it so that it passes CI, creating fixup commits as necessary.
  8. When it's really really ready, git clean -fxd && python setup.py sdist && twine upload dist/*.tar.gz. If twine finds problems, make any final changes and retry.
  9. If needed, do a git rebase -i to make the version-bump commit the last one again.
  10. git tag v${version}
  11. Update the version number to ${cur_major}.${next_minor}.0.dev0 and add a new separator in CHANGES.md along the lines of Next version (unreleased). Commit with a message of Back to development.
  12. git push (with -f if history was rewritten) to the PR branch. This had really better still pass CI.
  13. Merge into master.
  14. Pull the merged master locally.
  15. git push --tags
  16. Create a new release on GitHub and copy the latest contents of CHANGES.md into the description.