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:
4
.github/workflows/compiler-tests.yaml
vendored
4
.github/workflows/compiler-tests.yaml
vendored
@@ -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:
|
||||
|
||||
14
.github/workflows/daily-tests.yaml
vendored
14
.github/workflows/daily-tests.yaml
vendored
@@ -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:
|
||||
|
||||
4
.github/workflows/gpu-tests.yaml
vendored
4
.github/workflows/gpu-tests.yaml
vendored
@@ -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:
|
||||
|
||||
6
.github/workflows/weekly-tests.yaml
vendored
6
.github/workflows/weekly-tests.yaml
vendored
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -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 \
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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}"]
|
||||
}
|
||||
|
||||
@@ -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 \
|
||||
|
||||
@@ -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" ]
|
||||
|
||||
@@ -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 \
|
||||
|
||||
@@ -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 \
|
||||
|
||||
@@ -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 && \
|
||||
|
||||
@@ -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 && \
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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 && \
|
||||
|
||||
Reference in New Issue
Block a user