Skip to content
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

Merged
merged 12 commits into from
Dec 13, 2022
Merged

Rill Install script #1415

merged 12 commits into from
Dec 13, 2022

Conversation

himadrisingh
Copy link
Contributor

@himadrisingh himadrisingh commented Dec 9, 2022

  • Use prod CDN
  • Version controlled
  • Update install script on release

* Use prod CDN
* Versioned control
* Update install script on release
.github/workflows/cli-release.yml Outdated Show resolved Hide resolved
.github/workflows/cli-release.yml Outdated Show resolved Hide resolved
Copy link
Contributor

@begelundmuller begelundmuller left a 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

Comment on lines 20 to 31
# 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
}
Copy link
Contributor

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

esac

initPlatform
verifyAvailability
Copy link
Contributor

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
Copy link
Contributor

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?

Copy link
Contributor Author

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?

Copy link
Contributor

@begelundmuller begelundmuller Dec 13, 2022

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).

Copy link
Contributor

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.

scripts/install.sh Outdated Show resolved Hide resolved
scripts/install.sh Outdated Show resolved Hide resolved
@nishantmonu51 nishantmonu51 added the blocker A release blocker issue that should be resolved before a new release label Dec 13, 2022
@begelundmuller begelundmuller merged commit 6f64fce into main Dec 13, 2022
@begelundmuller begelundmuller deleted the install-script branch December 13, 2022 16:18
djbarnwal pushed a commit that referenced this pull request Aug 3, 2023
* 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
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
blocker A release blocker issue that should be resolved before a new release
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants