heroku-buildpack-elixir
heroku-buildpack-elixir copied to clipboard
OTP releases not found
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!
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
We have the same issue.
@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.
Specifically, for the first option:
- Change the
-otp-builds
project'stravis.yml
to declare a build matrix ofHEROKU_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
- For efficiency's sake, it would also be good to only run the
- 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.
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?
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 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.
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
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?
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.
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:
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.
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?
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