Browse code

add release instructions

Joseph Weston authored on 17/02/2019 13:01:31
Showing 1 changed files
1 1
new file mode 100644
... ...
@@ -0,0 +1,22 @@
1
+# Making a miniver release
2
+These instructions can also be used as a starting point for packages that use miniver.
3
+
4
+## Preflight checks
5
+
6
+1. Verify that all issues/pull requests pertinent for this release are closed/merged
7
+2. Verify that all changes are recorded in the changelog
8
+3. Verify that any attribution files (e.g AUTHORS) are up to date
9
+4. Verify that copyright notices are up to date
10
+5. Verify that the builds are passing on `master`
11
+
12
+## Prepare the release
13
+
14
+1. Restore the git repository to a pristine state: `git checkout master && git reset --hard HEAD && git clean -xd -f`
15
+2. Create a *signed*, *annotated* release tag: `git tag -as vX.Y.Z -m 'version X.Y.Z'`
16
+3. Create source and binary distributions: `python setup.py sdist bdist_wheel`
17
+4. Create an empty commit to start development towards the next release: `git commit --allow-empty -m 'start development towards A.B.C'`
18
+5. Create a *signed*, *annotated* pre-release tag: `git tag -as vA.B.C-dev -m 'work towards A.B.C'
19
+
20
+## Publish the release
21
+1. Push the new version and development tags: `git push upstream vX.Y.Z vA.B.C-dev`
22
+2. Upload the distributions to PyPI: `twine upload dist/*`