Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 3 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -44,26 +44,25 @@ Supported architectures:

Supported OS versions:

* `ubuntu-20.04`
* `ubuntu-22.04`
* `ubuntu-24.04`
* `ubuntu-26.04`

Examples of URLs are:

* https://builds.hex.pm/builds/otp/amd64/ubuntu-20.04/master.tar.gz
* https://builds.hex.pm/builds/otp/arm64/ubuntu-22.04/OTP-26.0.tar.gz
* https://builds.hex.pm/builds/otp/amd64/ubuntu-24.04/maint.tar.gz

For lists of builds see:

* `amd64`:
* https://builds.hex.pm/builds/otp/amd64/ubuntu-20.04/builds.txt
* https://builds.hex.pm/builds/otp/amd64/ubuntu-22.04/builds.txt
* https://builds.hex.pm/builds/otp/amd64/ubuntu-24.04/builds.txt
* https://builds.hex.pm/builds/otp/amd64/ubuntu-26.04/builds.txt
* `arm64`:
* https://builds.hex.pm/builds/otp/arm64/ubuntu-20.04/builds.txt
* https://builds.hex.pm/builds/otp/arm64/ubuntu-22.04/builds.txt
* https://builds.hex.pm/builds/otp/arm64/ubuntu-24.04/builds.txt
* https://builds.hex.pm/builds/otp/arm64/ubuntu-26.04/builds.txt

## Docker images

Expand Down
17 changes: 11 additions & 6 deletions lib/bob/job/docker_checker.ex
Original file line number Diff line number Diff line change
Expand Up @@ -15,12 +15,12 @@ defmodule Bob.Job.DockerChecker do
]},
{"ubuntu",
[
# 26.04
~r/^resolute-\d{8}(\.\d)?$/,
# 24.04
~r/^noble-\d{8}(\.\d)?$/,
# 22.04
~r/^jammy-\d{8}$/,
# 20.04
~r/^focal-\d{8}$/
~r/^jammy-\d{8}$/
]},
{"debian",
[
Expand Down Expand Up @@ -122,7 +122,6 @@ defmodule Bob.Job.DockerChecker do
defp build_erlang_ref?("alpine", os_ver, "OTP-" <> ver), do: build_alpine?(os_ver, ver)
defp build_erlang_ref?("debian", "buster-" <> _, "OTP-1" <> _), do: false
defp build_erlang_ref?("debian", "bullseye-" <> _, "OTP-1" <> _), do: false
defp build_erlang_ref?("ubuntu", "focal-" <> _, "OTP-1" <> _), do: false

defp build_erlang_ref?("debian", "trixie-" <> _, "OTP-" <> version),
do: build_openssl_3?(version)
Expand All @@ -136,10 +135,11 @@ defmodule Bob.Job.DockerChecker do
defp build_erlang_ref?("ubuntu", "noble-" <> _, "OTP-" <> version),
do: build_openssl_3?(version)

defp build_erlang_ref?("ubuntu", "resolute-" <> _, "OTP-" <> version),
do: build_ubuntu_26?(version)

defp build_erlang_ref?(_os, _os_version, _ref), do: true

defp build_erlang_ref?("arm64", "ubuntu", "trusty-" <> _, "OTP-17" <> _), do: false
defp build_erlang_ref?("arm64", "ubuntu", "trusty-" <> _, "OTP-18" <> _), do: false
defp build_erlang_ref?(_arch, _os, _os_version, _ref), do: true

defp build_alpine?(version) do
Expand Down Expand Up @@ -188,6 +188,11 @@ defmodule Bob.Job.DockerChecker do
build_openssl_3?(erlang_version)
end

defp build_ubuntu_26?(erlang_version) do
erlang_version = parse_otp_ref(erlang_version)
erlang_version >= [26, 0]
end

defp parse_otp_ref("OTP-" <> version), do: parse_otp_ref(version)

defp parse_otp_ref(ref) do
Expand Down
16 changes: 8 additions & 8 deletions lib/bob/job/otp_checker.ex
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
defmodule Bob.Job.OTPChecker do
@repo "erlang/otp"
@linuxes ["ubuntu-20.04", "ubuntu-22.04", "ubuntu-24.04"]
@linuxes ["ubuntu-22.04", "ubuntu-24.04", "ubuntu-26.04"]
@arches ["amd64", "arm64"]

def run(_type) do
Expand All @@ -17,22 +17,17 @@ defmodule Bob.Job.OTPChecker do

defp build_ref?(_linux, "OTP-18.0-rc2"), do: false
defp build_ref?(_linux, "maint-r" <> _), do: false
defp build_ref?("ubuntu-20.04", "OTP-" <> version), do: build_ubuntu_20?(version)
defp build_ref?("ubuntu-20.04", "maint-" <> version), do: build_ubuntu_20?(version)
defp build_ref?("ubuntu-22.04", "OTP-" <> version), do: build_ubuntu_22?(version)
defp build_ref?("ubuntu-22.04", "maint-" <> version), do: build_ubuntu_22?(version)
defp build_ref?("ubuntu-24.04", "OTP-" <> version), do: build_ubuntu_24?(version)
defp build_ref?("ubuntu-24.04", "maint-" <> version), do: build_ubuntu_24?(version)
defp build_ref?("ubuntu-26.04", "OTP-" <> version), do: build_ubuntu_26?(version)
defp build_ref?("ubuntu-26.04", "maint-" <> version), do: build_ubuntu_26?(version)
defp build_ref?(_linux, "OTP-" <> _), do: true
defp build_ref?(_linux, "maint" <> _), do: true
defp build_ref?(_linux, "master" <> _), do: true
defp build_ref?(_linux, _ref), do: false

defp build_ubuntu_20?(erlang_version) do
erlang_version = parse_otp_ref(erlang_version)
erlang_version >= [20]
end

defp build_ubuntu_22?(erlang_version) do
# OpenSSL 3.0 compatibility
erlang_version = parse_otp_ref(erlang_version)
Expand All @@ -52,6 +47,11 @@ defmodule Bob.Job.OTPChecker do
end
end

defp build_ubuntu_26?(erlang_version) do
erlang_version = parse_otp_ref(erlang_version)
erlang_version >= [26, 0]
end

defp parse_otp_ref(ref) do
ref
|> String.split("-")
Expand Down
Original file line number Diff line number Diff line change
@@ -1,20 +1,19 @@
FROM ubuntu:20.04
FROM ubuntu:26.04

ARG DEBIAN_FRONTEND=noninteractive
ENV UBUNTU_VERSION=20.04
ENV UBUNTU_VERSION=26.04

RUN apt-get update

RUN apt-get install -y \
wget \
ca-certificates \
gcc \
gcc-9 \
g++ \
make \
automake \
autoconf \
libwxgtk3.0-gtk3-dev \
libwxgtk3.2-dev \
libgl1-mesa-dev \
libglu1-mesa-dev \
libpng-dev \
Expand Down
Loading