heroku-buildpack-elixir icon indicating copy to clipboard operation
heroku-buildpack-elixir copied to clipboard

OTP releases not found

Open moomerman opened this issue 5 years ago • 14 comments

It seems the last merge broke the OTP release path. I just set up a new app on Heroku (bad timing!) and it can't find the OTP release, it is looking here:

https://s3.amazonaws.com/heroku-buildpack-elixir/erlang/heroku-18/OTP-21.3.7.tar.gz

This commit d1a96f0d7e2006a7fa2e4c47209bf4a7ada85b08 just changed the format of the URL which now includes the current stack heroku-18 in my case and the releases don't [currently] exist there.

Thanks for this buildpack!

moomerman avatar Apr 27 '19 15:04 moomerman

In case anyone else hits this, I managed to work around it for now using the following buildpack URL:

https://github.com/HashNuke/heroku-buildpack-elixir.git#883f33e10879b4b8b030753c13aa3d0dda82e1e7

moomerman avatar Apr 27 '19 17:04 moomerman

We have the same issue.

arfl avatar Apr 28 '19 15:04 arfl

@moomerman @arfl Thanks for the reports, and the pinned commit! Apologies for the breakage.

@HashNuke I think there are two possible changes:

Most Resilient Extend Travis to check for or create builds for each stack / supported-version permutation. This would ensure pre-built packages are available for every config; but risks ramping up your default bucket's hosting costs.

Least Change Reset the default Heroku stack to the prior pinned value. This would restore the prior defaults while a new, less-hosting-intensive solution is worked on.

Of these I would prefer the first, but cannot commit to setting up the build matrix for at least another 1-2 weeks.

anulman avatar Apr 28 '19 17:04 anulman

Specifically, for the first option:

  • Change the -otp-builds project's travis.yml to declare a build matrix of HEROKU_STACK envs
  • Compile a list of missing builds builds before calling run_build
    • For efficiency's sake, it would also be good to only run the docker build line once, vs for each build in the VM's missing set

anulman avatar Apr 28 '19 17:04 anulman

  • Reverted the PR https://github.com/HashNuke/heroku-buildpack-elixir/pull/146
  • With https://github.com/HashNuke/heroku-buildpack-elixir/pull/151
  • Due to issue filed at https://github.com/HashNuke/heroku-buildpack-elixir/issues/150

We can take our time to resolve the issue and then move ahead with the PR.

HashNuke avatar Apr 28 '19 23:04 HashNuke

I just read Heroku’s announcement email regarding Cedar14 stack’s deprecation.

IMHO what we can do

  • Make the latest Erlang build available for both new and old stack.
  • Permanently move all newer Erlang builds to the new stack.
  • Make an announcement about this.

Please let me know if I am missing anything.

To make this possible

  • We will need the appropriate fixes for PR-#146.
  • Thanks to @anulman we have some insight about changes required. With that anyone can take this up and move it forward.
  • IF required, we can use our social media accounts to ask for help to improve the PR.

Anyone has ideas/suggestions?

HashNuke avatar May 04 '19 15:05 HashNuke

Any OTP version above 23.1.5 is not found in the cedar 14 folder on s3. This is occurring when using the build packs with dokku, is it possible to have these built?

ie

  • https://s3.amazonaws.com/heroku-buildpack-elixir/erlang/cedar-14/OTP-24.0.1.tar.gz
  • https://s3.amazonaws.com/heroku-buildpack-elixir/erlang/cedar-14/OTP-23.3.4.tar.gz

andrew-bednarz-isobar avatar May 27 '21 10:05 andrew-bednarz-isobar

@andrew-bednarz-isobar I have no connection to this buildpack (so it's up to the buildpack maintainers), but as a word of warning - Cedar-14 is based upon Ubuntu 14.04, which reached end-of-life upstream at the end of April 2019. That is, any Dokku environment running Cedar-14 docker images have not had security updates for over 2 years, and therefore are insecure and vulnerable and should not be used. Dokku supports the newer and still-supported Heroku stacks - they should be used instead.

edmorley avatar May 27 '21 10:05 edmorley

Thanks for that background Ed, makes sense! Our dokku is running on Ubuntu 18 so will need to figure out where the ceder-14 base is coming from and that should resolve this

andrew-bednarz-isobar avatar May 28 '21 02:05 andrew-bednarz-isobar

I'm also unable to deploy OTP 24.0.1 with Gigalixir, even using commit 883f33e10879b4b8b030753c13aa3d0dda82e1e7. It still tries to fetch:

https://s3.amazonaws.com/heroku-buildpack-elixir/erlang/cedar-14/OTP-24.0.1.tar.gz

Is there a build that will actually work with the gigalixir-20 stack?

giddie avatar May 28 '21 14:05 giddie

Folks, Just saw a notifications email for this thread in my inbox - so jumped in to help.

@giddie

  • The compiled OTP is being picked from up the S3 bucket maybe because the stack isn't heroku-20.
  • According to the code in the commit here, the STACK env var is checked before setting the URL of the host/bucket to fetch the buildpack from.

I think the buildpack actually needs a minor change to use the repo.hex.pm endpoint for OTP builds even for gigalixir-20 stack too.

P.S: I use my energy these days to attempt to build small projects. Apologies if I'm not very active on these repos/discussions.

HashNuke avatar May 28 '21 17:05 HashNuke

Well, it seems I was running into some kind of transient error, since the problem seems to have gone away now. Gigalixir with the gigalixir-20 stack now pulls OTP 24.0.1 from the correct URL (https://repo.hex.pm/builds/otp/ubuntu-20.04/OTP-24.0.1.tar.gz)

:partying_face:

giddie avatar May 31 '21 07:05 giddie

For anybody else getting this error:

remote: -----> Checking Erlang and Elixir versions        
remote:        Will use the following versions:        
remote:        * Stack cedar-14        
remote:        * Erlang 24.0        
remote:        * Elixir v1.12.1        
remote:        Sorry, Erlang 24.0 isn't supported yet. For a list of supported versions, please see https://github.com/HashNuke/heroku-buildpack-elixir#version-support     

Make sure to update your Stack to gigalixir-20.

I was using gigalixir-14 without knowing it.

ruudk avatar Jun 02 '21 11:06 ruudk

Second update: OK, much of the Internet is now 503 as a result of some mismanaged varnish servers, my errors below are a result of the Fastly outage

Update: Looks like there is something up with repo.hex.pm's varnish?

Screen Shot 2021-06-08 at 6 54 37 PM

remote: Failed to fetch record for 'hexpm/mimerl' from registry (using cache instead)
       
       <html>
       <head>
       <title>Fastly error: unknown domain: repo.hex.pm</title>
       </head>
       <body>
       <p>Fastly error: unknown domain: repo.hex.pm.</p>
       <p>Details: cache-pwk4946-PWK</p></body></html>

Old message:

Got this error for Erlang 23.1 using gigalixir-18 even though we have been deploying with 23.1 to this app for months.

Upgraded to gigalixir-20 as suggested by @ruudk , but am now getting the same error for heroku-20.

-----> Checking Erlang and Elixir versions
# Original error:
       Will use the following versions:
       * Stack heroku-18
       * Erlang 23.1
       * Elixir v1.11.2

# New error:
       * Stack heroku-20
       * Erlang 23.1
       * Elixir v1.11.2
       Sorry, Erlang 23.1 isn't supported yet. For a list of supported versions, please see https://github.com/HashNuke/heroku-buildpack-elixir#version-support
remote: 2021/06/08 10:36:36 exit status 1

njwest avatar Jun 08 '21 10:06 njwest