parent
d1169a0f37
commit
3e00ee4155
28
publish.py
28
publish.py
@ -110,6 +110,13 @@ def run_website(args: Any) -> None:
|
|||||||
subprocess.check_call(['git', 'push'])
|
subprocess.check_call(['git', 'push'])
|
||||||
|
|
||||||
|
|
||||||
|
def sign_file(path: str) -> None:
|
||||||
|
subprocess.check_call([
|
||||||
|
os.environ['PENV'] + '/gpg-as-kovid', '--output', path + '.sig',
|
||||||
|
'--detach-sig', path
|
||||||
|
])
|
||||||
|
|
||||||
|
|
||||||
def run_sdist(args: Any) -> None:
|
def run_sdist(args: Any) -> None:
|
||||||
with tempfile.TemporaryDirectory() as tdir:
|
with tempfile.TemporaryDirectory() as tdir:
|
||||||
base = os.path.join(tdir, f'kitty-{version}')
|
base = os.path.join(tdir, f'kitty-{version}')
|
||||||
@ -124,6 +131,7 @@ def run_sdist(args: Any) -> None:
|
|||||||
with suppress(FileNotFoundError):
|
with suppress(FileNotFoundError):
|
||||||
os.remove(dest + '.xz')
|
os.remove(dest + '.xz')
|
||||||
subprocess.check_call(['xz', '-9', dest])
|
subprocess.check_call(['xz', '-9', dest])
|
||||||
|
sign_file(dest + '.xz')
|
||||||
|
|
||||||
|
|
||||||
class ReadFileWithProgressReporting(io.FileIO): # {{{
|
class ReadFileWithProgressReporting(io.FileIO): # {{{
|
||||||
@ -313,7 +321,7 @@ class GitHub(Base): # {{{
|
|||||||
'tag_name': self.current_tag_name,
|
'tag_name': self.current_tag_name,
|
||||||
'target_commitish': 'master',
|
'target_commitish': 'master',
|
||||||
'name': 'version %s' % self.version,
|
'name': 'version %s' % self.version,
|
||||||
'body': 'Release version %s' % self.version,
|
'body': 'Release version %s. GPG key used for signing tarballs is: https://calibre-ebook.com/signatures/kovid.gpg' % self.version,
|
||||||
'draft': False,
|
'draft': False,
|
||||||
'prerelease': False
|
'prerelease': False
|
||||||
}))
|
}))
|
||||||
@ -331,18 +339,26 @@ def get_github_data() -> Dict[str, str]:
|
|||||||
|
|
||||||
|
|
||||||
def run_upload(args: Any) -> None:
|
def run_upload(args: Any) -> None:
|
||||||
files = {
|
files = {}
|
||||||
os.path.join('bypy', 'b', f.format(version)): desc
|
signatures = {}
|
||||||
for f, desc in {
|
for f, desc in {
|
||||||
'macos/dist/kitty-{}.dmg': 'macOS dmg',
|
'macos/dist/kitty-{}.dmg': 'macOS dmg',
|
||||||
'linux/64/sw/dist/kitty-{}-x86_64.txz': 'Linux amd64 binary bundle',
|
'linux/64/sw/dist/kitty-{}-x86_64.txz': 'Linux amd64 binary bundle',
|
||||||
'linux/32/sw/dist/kitty-{}-i686.txz': 'Linux x86 binary bundle',
|
'linux/32/sw/dist/kitty-{}-i686.txz': 'Linux x86 binary bundle',
|
||||||
}.items()
|
}.items():
|
||||||
}
|
path = os.path.join('bypy', 'b', f.format(version))
|
||||||
|
if not os.path.exists(path):
|
||||||
|
raise SystemExit(f'The installer {path} does not exist')
|
||||||
|
files[path] = desc
|
||||||
|
signatures[path] = desc + ' GPG signature'
|
||||||
files[f'build/kitty-{version}.tar.xz'] = 'Source code'
|
files[f'build/kitty-{version}.tar.xz'] = 'Source code'
|
||||||
|
files[f'build/kitty-{version}.tar.xz.sig'] = 'Source code GPG signature'
|
||||||
|
for path, desc in signatures.items():
|
||||||
|
sign_file(path)
|
||||||
|
files[path + '.sig'] = desc + ' GPG signature'
|
||||||
for f in files:
|
for f in files:
|
||||||
if not os.path.exists(f):
|
if not os.path.exists(f):
|
||||||
raise SystemExit('The installer {} does not exist'.format(f))
|
raise SystemExit(f'The release artifact {f} does not exist')
|
||||||
gd = get_github_data()
|
gd = get_github_data()
|
||||||
gh = GitHub(files, appname, version, gd['username'], gd['password'])
|
gh = GitHub(files, appname, version, gd['username'], gd['password'])
|
||||||
gh()
|
gh()
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user