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/*`
|