chevah / pythia

Chevah's Python 3 distribution
MIT License
4 stars 2 forks source link

Use production pkgs from GitHub releases. #19

Closed dumol closed 3 years ago

dumol commented 3 years ago

Scope

This is a proof of concept for using GitHub releases to download production packages.

Changes

Coaxed brink.sh into downloading Python packages from:

  1. public SFTPPlus instance for testing OR production packages
  2. GitHub releases ONLY for production packages.

This unifies things a bit, as we use GitHub releases anyway for backup.

Consequently, testing packages are uploaded to bin.chevah.com to fit GitHub releases, e.g.:

$ ls -1 /srv/sftpplus-bin/testing/3.8.6.0e23c6d/
python-3.8.6.0e23c6d-macos-x64.tar.gz
python-3.8.6.0e23c6d-ubuntu1804-x64.tar.gz
python-3.8.6.0e23c6d-ubuntu2004-x64.tar.gz
python-3.8.6.0e23c6d-win-x64.tar.gz
python-3.8.6.0e23c6d-win-x86.tar.gz

Speedier downloads with GitHub actions should be possible when downloading from GitHub's servers.

Drive-by changes:

End result of the dist size optimizations: 88MB instead of 156MB for the 5 packages currently build through GitHub actions.

Testing

Please review changes.

Try ./brink.sh deps with both testing and production (the latter with both bin.chevah.com and GitHub releases) by commenting and/or uncommenting BINARY_DIST_URI in brink.conf.