-
Notifications
You must be signed in to change notification settings - Fork 111
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Rill Install script #1415
Rill Install script #1415
Conversation
himadrisingh
commented
Dec 9, 2022
•
edited
Loading
edited
- Use prod CDN
- Version controlled
- Update install script on release
* Use prod CDN * Versioned control * Update install script on release
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good – one thing to remove, then ready to merge
scripts/install.sh
Outdated
# Verify that a binary is available for the current combination of 'PLATFORM' and 'VERSION' | ||
verifyAvailability() { | ||
if [ $VERSION == nightly ] && [ $PLATFORM == macos-arm64 ]; then | ||
printf "\nNightly builds are currently not published for ${PLATFORM}.\n\n" | ||
read -p "Do you want to install the nightly macos-x64 build which can run using Rosetta 2 instead? [y/N]" -n 1 -r -s < /dev/tty | ||
printf "\n\n" | ||
if [[ ! $REPLY =~ ^[Yy]$ ]]; then | ||
exit 0 | ||
fi | ||
PLATFORM=macos-x64 | ||
fi | ||
} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This should no longer be a problem since the new Go CLI can compile for arm from the CI environment
scripts/install.sh
Outdated
esac | ||
|
||
initPlatform | ||
verifyAvailability |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Also not needed anymore
shasum --algorithm 256 --ignore-missing --check checksums.txt | ||
|
||
printf "\nUnpacking rill_${PLATFORM}.zip\n" | ||
unzip rill_${PLATFORM}.zip |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I’m a bit worried about unzip
, it’s not installed by default on many Linux distros. Should we create a small pre-install test in the script that checks the needed tools (curl
, unzip
, shasum
) and print something helpful if they are not installed?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@begelundmuller any thoughts on this one?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think checking that unzip
and shasum
exist on the system and failing with a friendly error message sounds like a good solution. People already need curl
to get the install script (though maybe we should check anyway in case they changed it to wget
instead).
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The alternative is to publish Linux builds as .tar.gz
, but for most people, I think .zip
is still easiest. For comparison, DuckDB only releases .zip
files.
* Rill Install script * Use prod CDN * Versioned control * Update install script on release * Apply suggestions from code review * use zip format * fixes * test * Update cli-release.yml * revert * Update .goreleaser.yaml * update rill version * Apply suggestions from code review * check for the commands