2
0
Эх сурвалжийг харах

update release workflow using twine (docs, scripts), see #4213

Thomas Waldmann 6 жил өмнө
parent
commit
630909df38

+ 4 - 2
docs/development.rst

@@ -333,9 +333,11 @@ Checklist:
   do a fresh start based on that.
 - run tox and/or binary builds on all supported platforms via vagrant,
   check for test failures
-- create a release on PyPi::
+- create sdist, sign it, upload release to (test) PyPi::
 
-    python setup.py register sdist upload --identity="Thomas Waldmann" --sign
+    scripts/sdist-sign X.Y.Z
+    scripts/upload-pypi X.Y.Z test
+    scripts/upload-pypi X.Y.Z
 
 - close release milestone on Github
 - announce on:

+ 1 - 0
requirements.d/development.txt

@@ -8,3 +8,4 @@ pytest-xdist
 pytest-cov
 pytest-benchmark
 Cython!=0.27
+twine

+ 0 - 2
scripts/release

@@ -1,2 +0,0 @@
-python setup.py register sdist upload --identity="Thomas Waldmann" --sign
-

+ 20 - 0
scripts/sdist-sign

@@ -0,0 +1,20 @@
+#!/bin/bash
+
+R=$1
+
+if [ "$R" = "" ]; then
+    echo "Usage: sdist-sign 1.2.3"
+    exit
+fi
+
+if [ "$QUBES_GPG_DOMAIN" = "" ]; then
+    GPG=gpg
+else
+    GPG=qubes-gpg-client-wrapper
+fi
+
+python setup.py sdist
+
+D=dist/borgbackup-$R.tar.gz
+
+$GPG --detach-sign --local-user "Thomas Waldmann" --armor --output $D.asc $D

+ 18 - 0
scripts/upload-pypi

@@ -0,0 +1,18 @@
+#!/bin/bash
+
+R=$1
+
+if [ "$R" = "" ]; then
+    echo "Usage: upload-pypi 1.2.3 [test]"
+    exit
+fi
+
+if [ "$2" = "test" ]; then
+    export TWINE_REPOSITORY_URL=https://test.pypi.org/legacy/
+else
+    export TWINE_REPOSITORY_URL=
+fi
+
+D=dist/borgbackup-$R.tar.gz
+
+twine upload $D.asc $D