diff --git a/.github/workflows/ci.py b/.github/workflows/ci.py index 67aa5820dc7..f4ee0d159ba 100644 --- a/.github/workflows/ci.py +++ b/.github/workflows/ci.py @@ -8,6 +8,7 @@ import subprocess import sys import tarfile +import shutil from urllib.request import urlopen is_bundle = os.environ.get('KITTY_BUNDLE') == '1' @@ -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' @@ -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 7c4295bd206..6e2d05b66e2 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__':