hexpm / bob

The Builder

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Provide otp build for each ubuntu version

chulkilee opened this issue · comments

I found we have only https://repo.hex.pm/builds/otp/ubuntu-14.04/builds.txt - but not for other ubuntu releases.

Is there any reason? I don't think erlang built on ubuntu 14.04 would work on newer ubuntu "out of box" since some libraries are bumped major versions by default.

Probably actions/setup-elixir#31 is related

We don't have builds for other Ubuntu versions because there hasn't been a need for it / no one has asked for it until now. We can provide builds for all Ubuntu LTS versions if necessary.

If you need the builds and want to work on it then a PR would be appreciated. We already have docker builds on all Ubuntu versions: https://github.com/hexpm/bob/tree/master/priv/scripts/docker so one option could be to extract the build from the docker image. Not sure if this is possible since we run make install on docker and make release for the "tar" builds. But I think it is worth to investigate since the docker builds are already proven to work and it would be faster to provide the builds.

Thanks for the feedback!

We may use docker as the build system and copy the artifacts from the image to the host.

What's the purpose of those docker files? Is it just for building bob? As we have "official" erlang image at https://github.com/erlang/docker-erlang-otp - probably we need to contribute there and leverage that as well? (Like the official elixir image is using bob's artifact!) I see the official image is for the final use image so we need to make that as multistage for bob... that's doable but I'd like to make sure we have one good build definition :)

(Not sure how erlang solution builds erlang pkgs)

What's the purpose of those docker files?

The docker images built by bob are offered as an alternative to the official docker images since we noticed some issues with the official images when running Hex services. The images built by bob can be found here: https://hub.docker.com/r/hexpm/erlang https://hub.docker.com/r/hexpm/elixir. The issues we found and rationale for creating the alternatives are outlined here: https://elixirforum.com/t/yet-another-elixir-and-erlang-docker-image/28740.

We don't have to use the existing docker builds as source for the OTP tar builds, if it is too complex to make it work. We build the Ubuntu 14.04 tars without using the docker builds: https://github.com/hexpm/bob/tree/master/priv/scripts/otp. It was just a suggestion to possibly speed up the builds.