diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 6d190c20..bb62cfb3 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -203,6 +203,9 @@ display as `v{major}.{minor}.{patch}-{commit_hash}`. ### Upload +Travis CI should automatically do this after pushing tags. +Manual instructions are given below in case of failure. + Build `tqdm` into a distributable python package: ``` @@ -220,13 +223,23 @@ Finally, upload everything to pypi. This can be done easily using the ``` Also, the new release can (should) be added to GitHub by creating a new -release from the web interface; uploading packages from the `dist/` folder +release from the [web interface](https://github.com/tqdm/tqdm/releases); +uploading packages from the `dist/` folder created by `[python setup.py] make build`. The [wiki] can be automatically updated with GitHub release notes by running `make` within the wiki repository. [wiki]: https://github.com/tqdm/tqdm/wiki +Snaps may be uploaded to . +Assuming `snapcraft` is installed (`snap install snapcraft --classic --beta`): + +``` +[python setup.py] make snap +snapcraft login +snapcraft push tqdm*.snap --release stable +``` + ### Notes - you can also test on the PyPI test servers `test.pypi.org` @@ -275,15 +288,23 @@ For experienced devs, once happy with local master: 6. `git tag vM.m.p && git push --tags` 7. `[python setup.py] make distclean` 8. `[python setup.py] make build` -9. upload to PyPI using one of the following: - a) `[python setup.py] make pypi` +9. **`[AUTO:TravisCI]`** upload to PyPI. either: + a) `[python setup.py] make pypi`, or b) `twine upload -s -i $(git config user.signingkey) dist/tqdm-*` -10. create new release on +10. upload to snapcraft: + a) `[python setup.py] make snap`, and + b) `snapcraft push tqdm*.snap --release stable` +11. create new release on a) add helpful release notes - b) attach `dist/tqdm-*` binaries (usually only `*.whl*`) -11. run `make` in the `wiki` submodule to update release notes -12. run `make deploy` in the `docs` submodule to update website -13. accept the automated PR in the `feedstock` submodule to update conda + b) **`[AUTO:TravisCI]`** attach `dist/tqdm-*` binaries + (usually only `*.whl*`) +12. **`[SUB]`** run `make` in the `wiki` submodule to update release notes +13. **`[SUB]`** run `make deploy` in the `docs` submodule to update website +14. **`[SUB]`** accept the automated PR in the `feedstock` submodule to update conda -The last three steps require a one-time `make submodules` to clone -`docs`, `wiki`, and `feedstock`. +Key: + +- **`[AUTO:TravisCI]`**: Travis CI should automatically do this after + `git push --tags` (6) +- **`[SUB]`**: Requires one-time `make submodules` to clone + `docs`, `wiki`, and `feedstock`