This is a proof of concept for using GitHub releases to download production packages.
Changes
Coaxed brink.sh into downloading Python packages from:
public SFTPPlus instance for testing OR production packages
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:
[x] Always use curl in brink.sh, works best with GitHub's redirection for releases.
[x] Ditched get_agent from brink.sh.
[x] Removed code for upgrading from unversioned Python in brink.sh.
[x] Show the full download link when not finding a package to download in brink.sh.
[x] Use curl by default for Pythia too.
[x] Don't use cd when uploading Pythia packages, to avoid the need for allow-read or allow-traverse permission server-side.
[x] Strip Python binaries on Linux too, as stripping is only done when building on macOS.
[x] Also strip all libs on non-Windows platforms.
[x] Remove Python caches and compiled files before packing the dist files.
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.
Scope
This is a proof of concept for using GitHub releases to download production packages.
Changes
Coaxed
brink.sh
into downloading Python packages from: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.:
Speedier downloads with GitHub actions should be possible when downloading from GitHub's servers.
Drive-by changes:
curl
inbrink.sh
, works best with GitHub's redirection for releases.get_agent
frombrink.sh
.brink.sh
.brink.sh
.curl
by default for Pythia too.cd
when uploading Pythia packages, to avoid the need forallow-read
orallow-traverse
permission server-side.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 uncommentingBINARY_DIST_URI
inbrink.conf
.