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

feat: windows installer #104

Merged
merged 1 commit into from
Dec 15, 2020
Merged

feat: windows installer #104

merged 1 commit into from
Dec 15, 2020

Conversation

EverlastingBugstopper
Copy link
Contributor

@EverlastingBugstopper EverlastingBugstopper commented Dec 1, 2020

This PR adds a windows installer for Rover. We still need to figure out a way for the version to not be hardcoded but for now the bones are good.

This works very similarly to the Unix installer in that it downloads and extracts a .tar.gz and then just runs rover install which takes care of moving the running binary to a well known bin directory and then adding it to the user's PATH.

once we publish a new rc and point to it from within this script, it can be used like so iwr 'https://raw.githubusercontent.com/apollographql/rover/236dadda93edaa910dbeaa92893b7da2c27e4973/installers/binstall/scripts/windows/install.ps1' | iex

for now you'll get a panic with the above command since the binary it's downloading does not have the changes to rover that are necessary for the windows installer to actually work.

i tested everything on my fork, so if you want to run a command to see if it works well on your machine, you can run this command: iwr 'https://raw.githubusercontent.com/EverlastingBugstopper/rover/avery/wtf/installers/binstall/scripts/windows/install.ps1' | iex

@jbaxleyiii
Copy link

Drive by review, more to come, but hit this
image

@EverlastingBugstopper
Copy link
Contributor Author

EverlastingBugstopper commented Dec 9, 2020

@jbaxleyiii in the original description i said

for now you'll get a panic with the above command since the binary it's downloading does not have the changes to rover that are necessary for the windows installer to actually work

you'll need to run the command at the bottom that uses my fork in order for testing end to end to work (iwr 'https://raw.githubusercontent.com/EverlastingBugstopper/rover/avery/wtf/installers/binstall/scripts/windows/install.ps1' | iex)

Copy link
Member

@lrlna lrlna left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Screenshot 2020-12-14 174934

Screenshot 2020-12-14 175010

@EverlastingBugstopper this looks good to me! Really nice work taking care of this \o/

for now you'll get a panic with the above command since the binary it's downloading does not have the changes to rover that are necessary for the windows installer to actually work.

What changes do you still need to land before we can merge this?

As for the version being hardcoded, I think there are a few things we can do (and they can be done after we merge this):

  1. curl github to get the latest release, here is a script someone wrote in bash that we can rewrite to powershell
  2. run npm show rover version. This does require us to have rover published to npm first, and it does hinge on the user to have npm on their system (so I prefer the first suggestion)

@EverlastingBugstopper
Copy link
Contributor Author

What changes do you still need to land before we can merge this?

none! it's just that this hasn't been merged + tagged yet, so the changes introduced in this PR have not made it into our release binaries. that's the only reason it'll panic right now. once we merge, tag and build a binary with the changes introduced in this PR, running that command with the apollographql slug should work exactly the same as running the command with the EverlastingBugstopper slug.


as for getting the latest version of the release that script seems like a great way to do this. we will need to figure out how to differentiate between our beta releases and our stable releases though, so it might be good to work that stuff out in a separate issue.

@lrlna
Copy link
Member

lrlna commented Dec 15, 2020

Sweet! That sounds good. Merge away then 🚀

@EverlastingBugstopper EverlastingBugstopper merged commit d2cee55 into apollographql:main Dec 15, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants