-
Notifications
You must be signed in to change notification settings - Fork 128
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Start versioning augur and add a release process #210
Merged
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Everything else in scripts/ is more aimed at end-users. This script is only about development/integration tasks. Adds Travis to the name so it's clear that the rebuild won't happen locally.
This is good practice for general safety when shell scripting and has the upshot of an informative error message if run without TRAVIS_AUTH_TOKEN defined.
This will be used by setup.py and a devel/release script, as well as an `augur version` command. We want to start versioning augur beginning with 3.0.0. While preparing for the final 3.0.0 release, we'll use development versions (.devN), as described in <https://www.python.org/dev/peps/pep-0440/#developmental-releases>.
This is the same logic I'm using in nextstrain-cli. Note that pathlib requires Python 3.4+, which I think is an acceptable requirement. Modular augur is already Python 3-only.
This means the Python packaging and installation toolchain can know what we need. For example, the package will refuse to install on older versions, instead of installing but not working.
This makes it more clear what the package is and makes it easier to find related packages when searching PyPi. The module and command names are still just "augur". This only affects the distribution package name once we make distributions.
Starting with the initial version, 3.0.0.dev1 (that we won't actually release).
The devel/release script sanity checks state of the repo and change log, bumps the version, makes a commit and tags it, merges into the "release" branch, and ends with instructions on how to push. It is based on the very similar script I wrote for nextstrain-cli, with the "release" branch behaviour adopted from auspice. Resolves #202 and #146.
Ensures that in-progress changes on master don't get baked into new Docker images and mirrors the way this works for auspice.
trvrb
approved these changes
Sep 2, 2018
Everything looks great here. Please go ahead and merge and release to PyPi. |
Done! |
I also added a "branch protection rule" for |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Spurred by #202 and #146, this sets up augur to be versioned starting with 3.0.0 and released to PyPi as nextstrain-augur. Each commit documents the change it makes and the rationale.
When this PR gets the ok, I'll merge and do the initial release (which due to bootstrapping requires a little more handholding than subsequent releases).
Todo items for myself for the initial release: