File 0947-gh-Use-correct-old-erlang-versions-for-testing.patch of Package erlang
From e18060a3606cb5ad61282f29fe12c2d03eb1d07b Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Lukas=20Backstr=C3=B6m?= <lukas@erlang.org>
Date: Mon, 9 Jun 2025 10:59:58 +0200
Subject: [PATCH] gh: Use correct old erlang versions for testing
When building the base image for old releases we should include
the old release - 2 and not the currently newest release -2.
---
.github/dockerfiles/Dockerfile.ubuntu-base | 8 +++++++-
.github/scripts/build-base-image.sh | 9 +++++++--
2 files changed, 14 insertions(+), 3 deletions(-)
diff --git a/.github/dockerfiles/Dockerfile.ubuntu-base b/.github/dockerfiles/Dockerfile.ubuntu-base
index e50a19a895..e97a8c02b8 100644
--- a/.github/dockerfiles/Dockerfile.ubuntu-base
+++ b/.github/dockerfiles/Dockerfile.ubuntu-base
@@ -43,13 +43,19 @@ ENV OTP_STRICT_INSTALL=yes
RUN mkdir /buildroot /tests /otp && chown ${USER}:${GROUP} /buildroot /tests /otp
+ARG LATEST_ERLANG_VERSION=unknown
+
## We install the latest version of the previous three releases in order to do
## backwards compatability testing of Erlang.
RUN apt-get update && apt-get install -y git curl && \
curl -L https://raw.githubusercontent.com/kerl/kerl/master/kerl > /usr/bin/kerl && \
chmod +x /usr/bin/kerl && \
kerl update releases && \
- LATEST=$(kerl list releases | grep "\*$" | tail -1 | awk -F '.' '{print $1}') && \
+ if [ ${LATEST_ERLANG_VERSION} = "unknown" ]; then \
+ LATEST=$(kerl list releases | grep "\*$" | tail -1 | awk -F '.' '{print $1}'); \
+ else \
+ LATEST=${LATEST_ERLANG_VERSION}; \
+ fi && \
for release in $(seq $(( LATEST - 2 )) $(( LATEST ))); do \
VSN=$(kerl list releases | grep "^$release" | tail -1 | awk '{print $1}'); \
if [ $release = $LATEST ]; then \
diff --git a/.github/scripts/build-base-image.sh b/.github/scripts/build-base-image.sh
index f4b05e1216..251c06f03a 100755
--- a/.github/scripts/build-base-image.sh
+++ b/.github/scripts/build-base-image.sh
@@ -3,10 +3,14 @@
set -eo pipefail
BASE_BRANCH="$1"
+LATEST_ERLANG_VERSION="unknown"
case "${BASE_BRANCH}" in
- master|maint|maint-*)
- ;;
+ maint-*)
+ LATEST_ERLANG_VERSION=${BASE_BRANCH#"maint-"}
+ ;;
+ master|maint)
+ ;;
*)
BASE_BRANCH="master"
;;
@@ -60,6 +64,7 @@ else
--build-arg MAKEFLAGS=-j$(($(nproc) + 2)) \
--build-arg USER=otptest --build-arg GROUP=uucp \
--build-arg uid="$(id -u)" \
+ --build-arg LATEST_ERLANG_VERSION="${LATEST_ERLANG_VERSION}" \
--build-arg BASE="${BASE}" .github/
NEW_BASE_IMAGE_ID=$(docker images -q "${BASE_TAG}:latest")
--
2.43.0