docker-images: Use GitHub Container Registry (#418)

This PR aims to enhance our Docker image build and registry management
by implementing multi-platform support and migrating from the Google
Docker registry to the GitHub Container Registry. Issue:
[#336](https://github.com/gem5/gem5/issues/336)
This commit is contained in:
Bobby R. Bruce
2023-10-18 22:08:01 -07:00
committed by GitHub
20 changed files with 167 additions and 61 deletions

View File

@@ -22,7 +22,7 @@ jobs:
opts: [.opt, .fast]
runs-on: [self-hosted, linux, x64]
timeout-minutes: 2880 # 48 hours
container: gcr.io/gem5-test/${{ matrix.image }}:latest
container: ghcr.io/gem5/${{ matrix.image }}:latest
steps:
- uses: actions/checkout@v3
with:
@@ -45,7 +45,7 @@ jobs:
opts: [.opt]
runs-on: [self-hosted, linux, x64]
timeout-minutes: 2880 # 48 hours
container: gcr.io/gem5-test/${{ matrix.image }}:latest
container: ghcr.io/gem5/${{ matrix.image }}:latest
steps:
- uses: actions/checkout@v3
with:

View File

@@ -39,7 +39,7 @@ jobs:
command-line: --default=NULL PROTOCOL=MI_example -j $(nproc)
runs-on: [self-hosted, linux, x64]
needs: name-artifacts
container: gcr.io/gem5-test/ubuntu-22.04_all-dependencies:latest
container: ghcr.io/gem5/ubuntu-22.04_all-dependencies:latest
steps:
- uses: actions/checkout@v3
with:
@@ -61,7 +61,7 @@ jobs:
matrix:
type: [fast, debug]
runs-on: [self-hosted, linux, x64]
container: gcr.io/gem5-test/ubuntu-22.04_all-dependencies:latest
container: ghcr.io/gem5/ubuntu-22.04_all-dependencies:latest
timeout-minutes: 60
steps:
- uses: actions/checkout@v3
@@ -80,7 +80,7 @@ jobs:
test-type: [arm_boot_tests, fs, gpu, insttest_se, learning_gem5, m5threads_test_atomic, memory, multi_isa, replacement_policies, riscv_boot_tests,
stdlib, x86_boot_tests]
runs-on: [self-hosted, linux, x64]
container: gcr.io/gem5-test/ubuntu-22.04_all-dependencies:latest
container: ghcr.io/gem5/ubuntu-22.04_all-dependencies:latest
needs: [name-artifacts, build-gem5]
timeout-minutes: 1440 # 24 hours for entire matrix to run
steps:
@@ -169,7 +169,7 @@ jobs:
matrix:
test-type: [gem5-library-example-x86-ubuntu-run-ALL-x86_64-opt, gem5-library-example-riscv-ubuntu-run-ALL-x86_64-opt, lupv-example-ALL-x86_64-opt,
gem5-library-example-arm-ubuntu-run-test-ALL-x86_64-opt, gem5-library-example-riscvmatched-hello-ALL-x86_64-opt]
container: gcr.io/gem5-test/ubuntu-22.04_all-dependencies:latest
container: ghcr.io/gem5/ubuntu-22.04_all-dependencies:latest
needs: [name-artifacts, build-gem5]
timeout-minutes: 1440 # 24 hours
steps:
@@ -209,7 +209,7 @@ jobs:
# ext/sst/sst/example.py.
sst-test:
runs-on: [self-hosted, linux, x64]
container: gcr.io/gem5-test/sst-env:latest
container: ghcr.io/gem5/sst-env:latest
timeout-minutes: 180
steps:
@@ -234,7 +234,7 @@ jobs:
# simulation with it.
systemc-test:
runs-on: [self-hosted, linux, x64]
container: gcr.io/gem5-test/systemc-env:latest
container: ghcr.io/gem5/systemc-env:latest
timeout-minutes: 180
steps:
@@ -258,7 +258,7 @@ jobs:
# Runs the gem5 Nighyly GPU tests.
gpu-tests:
runs-on: [self-hosted, linux, x64]
container: gcr.io/gem5-test/gcn-gpu:latest
container: ghcr.io/gem5/gcn-gpu:latest
timeout-minutes: 720 # 12 hours
steps:

View File

@@ -13,7 +13,7 @@ on:
jobs:
build-gem5:
runs-on: [self-hosted, linux, x64]
container: gcr.io/gem5-test/gcn-gpu:latest
container: ghcr.io/gem5/gcn-gpu:latest
steps:
- uses: actions/checkout@v3
with:
@@ -31,7 +31,7 @@ jobs:
HACC-tests:
runs-on: [self-hosted, linux, x64]
container: gcr.io/gem5-test/gcn-gpu:latest
container: ghcr.io/gem5/gcn-gpu:latest
needs: build-gem5
timeout-minutes: 120 # 2 hours
steps:

View File

@@ -13,7 +13,7 @@ on:
jobs:
build-gem5:
runs-on: [self-hosted, linux, x64]
container: gcr.io/gem5-test/ubuntu-22.04_all-dependencies:latest
container: ghcr.io/gem5-test/ubuntu-22.04_all-dependencies:latest
outputs:
build-name: ${{ steps.artifact-name.outputs.name }}
steps:
@@ -41,7 +41,7 @@ jobs:
matrix:
test-type: [gem5_library_example_tests, gem5_resources, parsec_benchmarks, x86_boot_tests]
runs-on: [self-hosted, linux, x64]
container: gcr.io/gem5-test/ubuntu-22.04_all-dependencies:latest
container: ghcr.io/gem5/ubuntu-22.04_all-dependencies:latest
needs: [build-gem5]
timeout-minutes: 4320 # 3 days
steps:
@@ -78,7 +78,7 @@ jobs:
dramsys-tests:
runs-on: [self-hosted, linux, x64]
container: gcr.io/gem5-test/ubuntu-22.04_all-dependencies:latest
container: ghcr.io/gem5/ubuntu-22.04_all-dependencies:latest
timeout-minutes: 4320 # 3 days
steps:
- uses: actions/checkout@v3

View File

@@ -73,7 +73,7 @@ opts=(".opt"
builds_per_compiler=1
# Base URL of the gem5 testing images.
base_url="gcr.io/gem5-test"
base_url="ghcr.io/gem5"
# Arguments passed into scons on every build target test.
if [ $# -eq 0 ];then

View File

@@ -37,8 +37,8 @@
set -e
DOCKER_IMAGE_ALL_DEP=gcr.io/gem5-test/ubuntu-22.04_all-dependencies:latest
DOCKER_IMAGE_CLANG_COMPILE=gcr.io/gem5-test/clang-version-14:latest
DOCKER_IMAGE_ALL_DEP=ghcr.io/gem5/ubuntu-22.04_all-dependencies:latest
DOCKER_IMAGE_CLANG_COMPILE=ghcr.io/gem5/clang-version-14:latest
PRESUBMIT_STAGE2=tests/jenkins/presubmit-stage2.sh
GEM5ART_TESTS=tests/jenkins/gem5art-tests.sh

View File

@@ -70,13 +70,13 @@ unit_test () {
docker run -u $UID:$GID --volume "${gem5_root}":"${gem5_root}" -w \
"${gem5_root}" --memory="${docker_mem_limit}" --rm \
gcr.io/gem5-test/ubuntu-22.04_all-dependencies:${tag} \
ghcr.io/gem5/ubuntu-22.04_all-dependencies:${tag} \
scons build/ALL/unittests.${build} -j${compile_threads} \
--ignore-style
}
# Ensure we have the latest docker images.
docker pull gcr.io/gem5-test/ubuntu-22.04_all-dependencies:${tag}
docker pull ghcr.io/gem5/ubuntu-22.04_all-dependencies:${tag}
# Run the unit tests.
unit_test opt
@@ -85,7 +85,7 @@ unit_test debug
# Run the gem5 long tests.
docker run -u $UID:$GID --volume "${gem5_root}":"${gem5_root}" -w \
"${gem5_root}"/tests --memory="${docker_mem_limit}" --rm \
gcr.io/gem5-test/ubuntu-22.04_all-dependencies:${tag} \
ghcr.io/gem5/ubuntu-22.04_all-dependencies:${tag} \
./main.py run --length long -j${compile_threads} -t${run_threads} -vv
# Unfortunately, due docker being unable run KVM, we do so separately.
@@ -105,10 +105,10 @@ cd "${gem5_root}/tests"
cd "${gem5_root}"
# For the GPU tests we compile and run the GPU ISA inside a gcn-gpu container.
docker pull gcr.io/gem5-test/gcn-gpu:${tag}
docker pull ghcr.io/gem5/gcn-gpu:${tag}
docker run --rm -u $UID:$GID --volume "${gem5_root}":"${gem5_root}" -w \
"${gem5_root}" --memory="${docker_mem_limit}" \
gcr.io/gem5-test/gcn-gpu:${tag} bash -c \
ghcr.io/gem5/gcn-gpu:${tag} bash -c \
"scons build/${gpu_isa}/gem5.opt -j${compile_threads} --ignore-style \
|| (rm -rf build && scons build/${gpu_isa}/gem5.opt \
-j${compile_threads} --ignore-style)"
@@ -123,7 +123,7 @@ mkdir -p tests/testing-results
# basic GPU functionality is working.
docker run --rm -u $UID:$GID --volume "${gem5_root}":"${gem5_root}" -w \
"${gem5_root}" --memory="${docker_mem_limit}" \
gcr.io/gem5-test/gcn-gpu:${tag} build/${gpu_isa}/gem5.opt \
ghcr.io/gem5/gcn-gpu:${tag} build/${gpu_isa}/gem5.opt \
configs/example/apu_se.py --reg-alloc-policy=dynamic -n3 -c square
# get HeteroSync
@@ -135,7 +135,7 @@ wget -qN http://dist.gem5.org/dist/develop/test-progs/heterosync/gcn3/allSyncPri
# atomics are tested.
docker run --rm -u $UID:$GID --volume "${gem5_root}":"${gem5_root}" -w \
"${gem5_root}" --memory="${docker_mem_limit}" \
gcr.io/gem5-test/gcn-gpu:${tag} build/${gpu_isa}/gem5.opt \
ghcr.io/gem5/gcn-gpu:${tag} build/${gpu_isa}/gem5.opt \
configs/example/apu_se.py --reg-alloc-policy=dynamic -n3 -c \
allSyncPrims-1kernel --options="sleepMutex 10 16 4"
@@ -146,7 +146,7 @@ docker run --rm -u $UID:$GID --volume "${gem5_root}":"${gem5_root}" -w \
# atomics are tested.
docker run --rm -u $UID:$GID --volume "${gem5_root}":"${gem5_root}" -w \
"${gem5_root}" --memory="${docker_mem_limit}" \
gcr.io/gem5-test/gcn-gpu:${tag} build/${gpu_isa}/gem5.opt \
ghcr.io/gem5/gcn-gpu:${tag} build/${gpu_isa}/gem5.opt \
configs/example/apu_se.py --reg-alloc-policy=dynamic -n3 -c \
allSyncPrims-1kernel --options="lfTreeBarrUniq 10 16 4"
@@ -157,7 +157,7 @@ build_and_run_SST () {
docker run -u $UID:$GID --volume "${gem5_root}":"${gem5_root}" -w \
"${gem5_root}" --rm --memory="${docker_mem_limit}" \
gcr.io/gem5-test/sst-env:${tag} bash -c "\
ghcr.io/gem5/sst-env:${tag} bash -c "\
scons build/${isa}/libgem5_${variant}.so -j${compile_threads} \
--without-tcmalloc --duplicate-sources --ignore-style && \
cd ext/sst && \
@@ -173,7 +173,7 @@ build_and_run_systemc () {
rm -rf "${gem5_root}/build/ARM"
docker run -u $UID:$GID --volume "${gem5_root}":"${gem5_root}" -w \
"${gem5_root}" --memory="${docker_mem_limit}" --rm \
gcr.io/gem5-test/ubuntu-22.04_min-dependencies:${tag} bash -c "\
ghcr.io/gem5/ubuntu-22.04_min-dependencies:${tag} bash -c "\
scons -j${compile_threads} --ignore-style --duplicate-sources \
build/ARM/gem5.opt && \
scons --with-cxx-config --without-python --without-tcmalloc \
@@ -183,7 +183,7 @@ scons --with-cxx-config --without-python --without-tcmalloc \
docker run -u $UID:$GID --volume "${gem5_root}":"${gem5_root}" -w \
"${gem5_root}" --memory="${docker_mem_limit}" --rm \
gcr.io/gem5-test/systemc-env:${tag} bash -c "\
ghcr.io/gem5/systemc-env:${tag} bash -c "\
cd util/systemc/gem5_within_systemc && \
make -j${compile_threads} && \
../../../build/ARM/gem5.opt ../../../configs/deprecated/example/se.py -c \

View File

@@ -72,7 +72,7 @@ fi
# Run the gem5 very-long tests.
docker run -u $UID:$GID --volume "${gem5_root}":"${gem5_root}" -w \
"${gem5_root}"/tests --memory="${docker_mem_limit}" --rm \
gcr.io/gem5-test/ubuntu-22.04_all-dependencies:${tag} \
ghcr.io/gem5/ubuntu-22.04_all-dependencies:${tag} \
./main.py run --length very-long -j${threads} -t${run_threads} -vv
mkdir -p tests/testing-results
@@ -81,7 +81,7 @@ mkdir -p tests/testing-results
# before pulling gem5 resources, make sure it doesn't exist already
docker run -u $UID:$GID --rm --volume "${gem5_root}":"${gem5_root}" -w \
"${gem5_root}" --memory="${docker_mem_limit}" \
gcr.io/gem5-test/gcn-gpu:${tag} bash -c \
ghcr.io/gem5/gcn-gpu:${tag} bash -c \
"rm -rf ${gem5_root}/gem5-resources"
# delete m5out, Pannotia datasets, and output files in case a failed regression
@@ -127,7 +127,7 @@ cd "${gem5_root}"
# avoid needing to set all of these, we instead build a docker for it, which
# has all these variables pre-set in its Dockerfile
# To avoid compiling gem5 multiple times, all GPU benchmarks will use this
docker pull gcr.io/gem5-test/gcn-gpu:${tag}
docker pull ghcr.io/gem5/gcn-gpu:${tag}
docker build -t hacc-test-weekly ${gem5_root}/gem5-resources/src/gpu/halo-finder
docker run --rm -u $UID:$GID --volume "${gem5_root}":"${gem5_root}" -w \
@@ -419,23 +419,23 @@ rm -rf "${gem5_root}/build/ALL"
docker run -u $UID:$GID --volume "${gem5_root}":"${gem5_root}" -w \
"${gem5_root}" --memory="${docker_mem_limit}" --rm \
gcr.io/gem5-test/ubuntu-22.04_all-dependencies:${tag} \
ghcr.io/gem5/ubuntu-22.04_all-dependencies:${tag} \
scons build/ALL/gem5.opt -j${threads}
docker run -u $UID:$GID --volume "${gem5_root}":"${gem5_root}" -w \
"${gem5_root}" --memory="${docker_mem_limit}" --rm \
gcr.io/gem5-test/ubuntu-22.04_all-dependencies:${tag} \
ghcr.io/gem5/ubuntu-22.04_all-dependencies:${tag} \
./build/ALL/gem5.opt \
configs/example/gem5_library/dramsys/arm-hello-dramsys.py
docker run -u $UID:$GID --volume "${gem5_root}":"${gem5_root}" -w \
"${gem5_root}" --memory="${docker_mem_limit}" --rm \
gcr.io/gem5-test/ubuntu-22.04_all-dependencies:${tag} \
ghcr.io/gem5/ubuntu-22.04_all-dependencies:${tag} \
./build/ALL/gem5.opt \
configs/example/gem5_library/dramsys/dramsys-traffic.py
docker run -u $UID:$GID --volume "${gem5_root}":"${gem5_root}" -w \
"${gem5_root}" --memory="${docker_mem_limit}" --rm \
gcr.io/gem5-test/ubuntu-22.04_all-dependencies:${tag} \
ghcr.io/gem5/ubuntu-22.04_all-dependencies:${tag} \
./build/ALL/gem5.opt \
configs/example/dramsys.py

View File

@@ -40,11 +40,19 @@ variable "TAG" {
# `docker buildx bake --push ubuntu-20-04_all-dependencies` or
# `docker buildx bake --push ubuntu-releases`.
group "default" {
targets=["clang-compilers", "ubuntu-releases"]
targets=["clang-compilers", "ubuntu-releases", "gcc-compilers", "gcn-gpu", "gpu-fs", "sst", "systemc", "llvm-gnu-cross-compiler-riscv64", "gem5-all-min-dependencies"]
}
group "ubuntu-releases" {
targets=["ubuntu-22-04_all-dependencies", "ubuntu-20-04_all-dependencies"]
targets=["ubuntu-22-04_all-dependencies", "ubuntu-20-04_all-dependencies", "ubuntu-22-04_min-dependencies"]
}
group "clang-compilers" {
targets = ["clang-compilers-base-20-04", "clang-compilers-base-22-04", "clang-compilers-16"]
}
group "gcc-compilers" {
targets = ["gcc-compilers-base-20-04", "gcc-compilers-base-22-04"]
}
# Common attributes across all targets. Note: these can be overwritten.
@@ -54,18 +62,32 @@ target "common" {
platforms = ["linux/amd64", "linux/arm64"]
}
target "clang-compilers" {
name="clang-compilers-${replace(ver, ".", "-")}"
inherits = ["common"]
context = "ubuntu-20.04_clang-version"
dockerfile = "Dockerfile"
matrix = {
ver = ["6.0","7","8","9","10","11"]
}
args = {
version=ver
}
tags = ["${IMAGE_URI}/clang-version-${ver}:${TAG}"]
target "gcn-gpu" {
inherits = ["common"]
dockerfile = "Dockerfile"
context = "gcn-gpu"
tags = ["${IMAGE_URI}/gcn-gpu:${TAG}"]
}
target "gpu-fs" {
inherits = ["common"]
dockerfile = "Dockerfile"
context = "gpu-fs"
tags = ["${IMAGE_URI}/gpu-fs:${TAG}"]
}
target "sst" {
inherits = ["common"]
dockerfile = "Dockerfile"
context = "sst-11.1.0"
tags = ["${IMAGE_URI}/sst-env:${TAG}"]
}
target "systemc" {
inherits = ["common"]
dockerfile = "Dockerfile"
context = "systemc-2.3.3"
tags = ["${IMAGE_URI}/systemc-env:${TAG}"]
}
target "ubuntu-22-04_all-dependencies" {
@@ -81,3 +103,87 @@ target "ubuntu-20-04_all-dependencies" {
context = "ubuntu-20.04_all-dependencies"
tags = ["${IMAGE_URI}/ubuntu-20.04_all-dependencies:${TAG}"]
}
target "ubuntu-22-04_min-dependencies" {
inherits = ["common"]
dockerfile = "Dockerfile"
context = "ubuntu-22.04_min-dependencies"
tags = ["${IMAGE_URI}/ubuntu-22.04_min-dependencies:${TAG}"]
}
target "gcc-compilers-base-20-04" {
name = "gcc-compilers-${replace(ver, ".", "-")}"
inherits = ["common"]
context = "ubuntu-20.04_gcc-version"
dockerfile = "Dockerfile"
matrix = {
ver = ["8", "9", "10"]
}
args = {
version = ver
}
tags = ["${IMAGE_URI}/gcc-version-${ver}:${TAG}"]
}
target "gcc-compilers-base-22-04" {
name = "gcc-compilers-${replace(ver, ".", "-")}"
inherits = ["common"]
context = "ubuntu-22.04_gcc-version"
dockerfile = "Dockerfile"
matrix = {
ver = ["11", "12"]
}
args = {
version = ver
}
tags = ["${IMAGE_URI}/gcc-version-${ver}:${TAG}"]
}
target "clang-compilers-base-20-04" {
name = "clang-compilers-${replace(ver, ".", "-")}"
inherits = ["common"]
context = "ubuntu-20.04_clang-version"
dockerfile = "Dockerfile"
matrix = {
ver = ["7", "8", "9", "10", "11", "12"]
}
args = {
version = ver
}
tags = ["${IMAGE_URI}/clang-version-${ver}:${TAG}"]
}
target "clang-compilers-base-22-04" {
name = "clang-compilers-${replace(ver, ".", "-")}"
inherits = ["common"]
context = "ubuntu-22.04_clang-version"
dockerfile = "Dockerfile"
matrix = {
ver = ["13", "14", "15"]
}
args = {
version = ver
}
tags = ["${IMAGE_URI}/clang-version-${ver}:${TAG}"]
}
target "clang-compilers-16" {
inherits = ["common"]
dockerfile = "Dockerfile"
context = "ubuntu-22.04_clang_16"
tags = ["${IMAGE_URI}/clang-version-16:${TAG}"]
}
target "llvm-gnu-cross-compiler-riscv64" {
inherits = ["common"]
dockerfile = "Dockerfile"
context = "llvm-gnu-cross-compiler-riscv64"
tags = ["${IMAGE_URI}/llvm-gnu-cross-compiler-riscv64:${TAG}"]
}
target "gem5-all-min-dependencies" {
inherits = ["common"]
dockerfile = "Dockerfile"
context = "gem5-all-min-dependencies"
tags = ["${IMAGE_URI}/gem5-all-min-dependencies:${TAG}"]
}

View File

@@ -23,7 +23,7 @@
# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
FROM ubuntu:20.04
FROM --platform=${BUILDPLATFORM} ubuntu:20.04
ENV DEBIAN_FRONTEND=noninteractive
RUN apt -y update && apt -y upgrade && \
apt -y install build-essential git m4 scons zlib1g zlib1g-dev \

View File

@@ -24,13 +24,13 @@
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
FROM gcr.io/gem5-test/ubuntu-22.04_min-dependencies:latest as source
FROM --platform=${BUILDPLATFORM} ghcr.io/gem5/ubuntu-22.04_min-dependencies:latest as source
RUN apt -y update && apt -y install git
RUN git clone -b develop https://github.com/gem5/gem5/ /gem5
WORKDIR /gem5
RUN scons -j`nproc` build/ALL/gem5.fast
FROM gcr.io/gem5-test/ubuntu-22.04_min-dependencies:latest
FROM ghcr.io/gem5/ubuntu-22.04_min-dependencies:latest
COPY --from=source /gem5/build/ALL/gem5.fast /usr/local/bin/gem5
ENTRYPOINT [ "/usr/local/bin/gem5" ]

View File

@@ -27,7 +27,7 @@
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
# POSSIBILITY OF SUCH DAMAGE.
FROM ubuntu:20.04
FROM --platform=${BUILDPLATFORM} ubuntu:20.04
ENV DEBIAN_FRONTEND=noninteractive
RUN apt -y update && apt -y upgrade && \
apt -y install build-essential git m4 scons zlib1g zlib1g-dev \

View File

@@ -26,7 +26,7 @@
# stage 1: download the dependencies
FROM ubuntu:20.04 AS stage1
FROM --platform=${BUILDPLATFORM} ubuntu:20.04 AS stage1
ENV DEBIAN_FRONTEND=noninteractive
RUN apt -y update && apt -y upgrade && apt -y install \

View File

@@ -24,7 +24,7 @@
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
FROM ubuntu:20.04
FROM --platform=${BUILDPLATFORM} ubuntu:20.04
ENV DEBIAN_FRONTEND=noninteractive
RUN apt -y update && apt -y upgrade && \

View File

@@ -24,7 +24,7 @@
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
FROM ubuntu:22.04
FROM --platform=${BUILDPLATFORM} ubuntu:22.04
ENV DEBIAN_FRONTEND=noninteractive
RUN apt -y update && apt -y upgrade && \

View File

@@ -23,7 +23,7 @@
# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
FROM ubuntu:20.04
FROM --platform=${BUILDPLATFORM} ubuntu:20.04
# Valid version values:
# 7

View File

@@ -23,7 +23,7 @@
# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
FROM ubuntu:22.04
FROM --platform=${BUILDPLATFORM} ubuntu:22.04
ENV DEBIAN_FRONTEND=noninteractive

View File

@@ -23,7 +23,7 @@
# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
FROM ubuntu:22.04
FROM --platform=${BUILDPLATFORM} ubuntu:22.04
# Valid version values:
# 13

View File

@@ -23,7 +23,7 @@
# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
FROM ubuntu:22.04
FROM --platform=${BUILDPLATFORM} ubuntu:22.04
# Valid version values:
# 11

View File

@@ -24,7 +24,7 @@
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
FROM ubuntu:22.04
FROM --platform=${BUILDPLATFORM} ubuntu:22.04
ENV DEBIAN_FRONTEND=noninteractive
RUN apt -y update && apt -y upgrade && \