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

Versions not found if Major.Minor.Patch version is not specified #156

Open
SampsonCrowley opened this issue Jul 12, 2019 · 7 comments
Open

Comments

@SampsonCrowley
Copy link

SampsonCrowley commented Jul 12, 2019

if you specify OTP 22.0 for instance, instead of using versioning to pull the closest match, the build fails.

If only a Major version or only a Major and Minor version are specified, and an exact match isn't found, the build should use the most up-to-date version for that Major.Minor combination

It was really surprising that symversioning isn't followed in the absence of an exact match, and instead the build just fails. If a Patch version was specified, and not found, THEN it should fail

@jesseshieh
Copy link
Collaborator

This is one of the most common issues I get emailed about from customers at gigalixir.

@HashNuke I don't mind taking a stab at this if you think this is something you would be willing to merge. I can see how some people might not like their version "altered" automatically.

One thing I can do right now, though, is improve the error message when a version isn't supported. What do you think?

Right now, it says something like this

remote: -----> Fetching Erlang 22.0.3 from https://s3.amazonaws.com/heroku-buildpack-elixir/erlang/cedar-14/OTP-22.0.3.tar.gz        
remote: -----> Installing Erlang 22.0.3 (changed)        
remote: 
remote: gzip: stdin: not in gzip format        
remote: tar: Child returned status 1        
remote: tar: Error is not recoverable: exiting now        

Perhaps something more useful like

Sorry, Erlang 22.0.3 isn't supported yet. For a list of supported versions, please see https://github.com/HashNuke/heroku-buildpack-elixir#version-support

What do you think?

@SampsonCrowley
Copy link
Author

@jesseshieh I can't think of a single reason that someone who specified only a major / major.minor version would be mad that it used the latest patch when an exact match to their query doesn't exist

@SampsonCrowley
Copy link
Author

this should definitely still fail if they specify a full semver and it's not found

@HashNuke
Copy link
Owner

HashNuke commented Aug 1, 2019

@jesseshieh That would be nice. Would be happy to merge a PR.

@vmaark
Copy link

vmaark commented Feb 14, 2020

I'm getting a very similar error message, but it doesn't matter what OTP version I'm trying to install:

remote: -----> Fetching Erlang 21.3
remote: -----> Installing Erlang 21.3 (changed)
remote:
remote: gzip: stdin: not in gzip format
remote: tar: Child returned status 1
remote: tar: Error is not recoverable: exiting now

can this be related, or should I open another ticket? I tried various versions listed here https://github.com/HashNuke/heroku-buildpack-elixir-otp-builds/blob/master/otp-versions

@jesseshieh
Copy link
Collaborator

This can happen if there was basically any kind of error downloading the file. I just tried it manually at https://s3.amazonaws.com/heroku-buildpack-elixir/erlang/cedar-14/OTP-21.3.tar.gz

and it seemed to work. Is it still happening for you or was it a transient issue? Did you get this error from Heroku or Gigalixir?

@vmaark
Copy link

vmaark commented Feb 15, 2020

I got it from heroku, and downloading manually did work for me too. I'll try later today, maybe it was a hiccup with heroku.

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

No branches or pull requests

4 participants