apollographql / rover

The CLI for Apollo GraphOS
https://rover.apollo.dev
Other
405 stars 85 forks source link

Be able to set BINARY_DOWNLOAD_PREFIX used in install.sh #1895

Open mikeq opened 5 months ago

mikeq commented 5 months ago

Description

Our CI/CD pipelines do not have access to the outside world directly but through our Nexus Repo manager. The rover installation using the shell script has a hard coded value for the BINARY_DOWNLOAD_PREFIX, ideally this should pick up an environment variable if specified or default to the hardcoded value.

BINARY_DOWNLOAD_PREFIX=${BINARY_DOWNLOAD_PREFIX:-"https://github.com/apollographql/rover/releases/download"}

This would allow us to point BINARY_DOWNLOAD_PREFIX to our internal Nexus repo to fetch the rover release

This issue refers to https://github.com/apollographql/rover/blob/main/installers/binstall/scripts/nix/install.sh

dylan-apollo commented 5 months ago

Most of the install script is about checking for dependencies and architecture. As a workaround, you could instead download the binary from your internal repo and run it directly (or add it to path manually).

mikeq commented 5 months ago

@dylan-apollo yeah, as a workaround I have copied the install.sh and made the change I suggest above to line 18 until this request is actioned. The script does an environment check for $VERSION being passed in and this is much the same.

It is better to have a script workout which binary I need, which will vary depending on what container I run it within or the build arguments passed to the CI pipeline.

I'm happy to submit a PR for it, but I believe that needs to be agreed in advance?