From 6ca1b7c240eb328817d282e780aa13eb2f741287 Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Wed, 12 Aug 2020 07:47:18 +0530 Subject: [PATCH] Convenience command to upload CI bundles --- .github/workflows/ci.py | 9 +++++---- setup.py | 8 +++++++- 2 files changed, 12 insertions(+), 5 deletions(-) diff --git a/.github/workflows/ci.py b/.github/workflows/ci.py index 67aa5820dc..100f23933c 100644 --- a/.github/workflows/ci.py +++ b/.github/workflows/ci.py @@ -5,6 +5,7 @@ import io import os import shlex +import shutil import subprocess import sys import tarfile @@ -43,7 +44,7 @@ def install_deps(): def build_kitty(): - python = 'python3' if is_bundle else sys.executable + python = shutil.which('python3') if is_bundle else sys.executable cmd = '{} setup.py build --verbose'.format(python) if os.environ.get('KITTY_SANITIZE') == '1': cmd += ' --debug --sanitize' @@ -71,7 +72,7 @@ def replace_in_file(path, src, dest): def setup_bundle_env(): global SW - os.environ['SW'] = SW = '/Users/Shared/buildbot/sw/sw' if is_macos else os.path.join(os.environ['GITHUB_WORKSPACE'], 'sw') + os.environ['SW'] = SW = '/Users/Shared/kitty-build/sw/sw' if is_macos else os.path.join(os.environ['GITHUB_WORKSPACE'], 'sw') os.environ['PKG_CONFIG_PATH'] = SW + '/lib/pkgconfig' if is_macos: os.environ['PATH'] = '{}:{}'.format('/usr/local/opt/sphinx-doc/bin', os.environ['PATH']) @@ -85,8 +86,8 @@ def install_bundle(): cwd = os.getcwd() os.makedirs(SW) os.chdir(SW) - with urlopen('https://download.calibre-ebook.com/travis/kitty/{}.tar.xz'.format( - 'osx' if is_macos else 'linux-64')) as f: + with urlopen('https://download.calibre-ebook.com/ci/kitty/{}-64.tar.xz'.format( + 'macos' if is_macos else 'linux')) as f: data = f.read() with tarfile.open(fileobj=io.BytesIO(data), mode='r:xz') as tf: tf.extractall() diff --git a/setup.py b/setup.py index 7c4295bd20..6e2d05b66e 100755 --- a/setup.py +++ b/setup.py @@ -1045,7 +1045,7 @@ def option_parser() -> argparse.ArgumentParser: # {{{ 'action', nargs='?', default=Options.action, - choices='build test linux-package kitty.app linux-freeze macos-freeze build-launcher clean'.split(), + choices='build test linux-package kitty.app linux-freeze macos-freeze build-launcher clean export-ci-bundles'.split(), help='Action to perform (default is build)' ) p.add_argument( @@ -1180,6 +1180,12 @@ def main() -> None: build(args) package(args, bundle_type='macos-package') print('kitty.app successfully built!') + elif args.action == 'export-ci-bundles': + cmd = [sys.executable, '../bypy', 'export'] + dest = ['download.calibre-ebook.com:/srv/download/ci/kitty'] + subprocess.check_call(cmd + ['linux'] + dest) + subprocess.check_call(cmd + ['macos'] + dest) + subprocess.check_call(cmd + ['linux', '32'] + dest) if __name__ == '__main__':