summaryrefslogtreecommitdiff
path: root/scripts
diff options
context:
space:
mode:
authorBob Ippolito <bob@redivi.com>2017-11-23 12:26:56 -0800
committerBob Ippolito <bob@redivi.com>2017-11-23 12:26:56 -0800
commit029bc2bf1a12146082a9c453d5965be0b7266dc6 (patch)
tree328d4c8060bde077112184550c75cd48806454b1 /scripts
parenta2fd6a11dd4d9444ce745fad4263d10766c5a454 (diff)
downloadsimplejson-029bc2bf1a12146082a9c453d5965be0b7266dc6.tar.gz
update artifacts.py to avoid none-any wheels
Diffstat (limited to 'scripts')
-rw-r--r--scripts/artifacts.py32
1 files changed, 23 insertions, 9 deletions
diff --git a/scripts/artifacts.py b/scripts/artifacts.py
index 8d220af..499e5f1 100644
--- a/scripts/artifacts.py
+++ b/scripts/artifacts.py
@@ -1,13 +1,12 @@
-try:
- from urllib.request import urlopen
-except ImportError:
- from urllib import urlopen
+#!/usr/bin/env python3
+from urllib.request import urlopen
import json
import os
import re
import subprocess
import sys
+import getpass
def get_json(url):
@@ -40,22 +39,36 @@ def download_github_artifacts():
for asset in release['assets']:
download_file(asset['browser_download_url'], 'dist/{name}'.format(**asset))
+
def get_version():
return subprocess.check_output([sys.executable, 'setup.py', '--version']).strip()
+
def artifact_matcher(version):
- return re.compile('^simplejson-{}.*\\.(exe|whl)$'.format(re.escape(version)))
+ return re.compile(
+ '^simplejson-{}.*(?<!none-any)\\.(exe|whl)$'.format(re.escape(version))
+ )
+
def sign_artifacts(version):
artifacts = set(os.listdir('dist'))
pattern = artifact_matcher(version)
+ passphrase = getpass.getpass()
for fn in artifacts:
if pattern.search(fn) and '{}.asc'.format(fn) not in artifacts:
- sign_artifact(os.path.join('dist', fn))
+ sign_artifact(os.path.join('dist', fn), passphrase)
+
+
+def sign_artifact(path, passphrase):
+ cmd = [
+ 'gpg', '--detach-sign',
+ '-a', path,
+ '--batch',
+ '--passphrase-fd', '0'
+ ]
+ print(' '.join(cmd))
+ subprocess.run(cmd, check=True, input=passphrase, encoding='utf8')
-def sign_artifact(path):
- print(' '.join(['gpg', '--detach-sign', '-a', path]))
- subprocess.check_call(['gpg', '--detach-sign', '-a', path])
def upload_artifacts(version):
artifacts = set(os.listdir('dist'))
@@ -67,6 +80,7 @@ def upload_artifacts(version):
args.extend([filename, filename + '.asc'])
subprocess.check_call(args)
+
def main():
download_appveyor_artifacts()
download_github_artifacts()