tests: Abstract the docker image tag for Nightly tests
This abstraction allows us to more easily change the tags between
different gem5 releases and/or between stable and the develop branch.
Change-Id: Ieb38e9a333ef8592b586014a3a9220f4a18c64e3
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/65919
Reviewed-by: Bobby Bruce <bbruce@ucdavis.edu>
Tested-by: kokoro <noreply+kokoro@google.com>
Maintainer: Bobby Bruce <bbruce@ucdavis.edu>
diff --git a/tests/nightly.sh b/tests/nightly.sh
index ec15f91..1360c44 100755
--- a/tests/nightly.sh
+++ b/tests/nightly.sh
@@ -35,6 +35,10 @@
# The per-container Docker memory limit.
docker_mem_limit="18g"
+# The docker tag to use (varies between develop, and versions on the staging
+# branch)
+tag="latest"
+
# The first argument is the number of threads to be used for compilation. If no
# argument is given we default to one.
compile_threads=1
@@ -66,13 +70,13 @@
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:latest \
+ gcr.io/gem5-test/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:latest
+docker pull gcr.io/gem5-test/ubuntu-22.04_all-dependencies:${tag}
# Run the unit tests.
unit_test opt
@@ -81,7 +85,7 @@
# 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:latest \
+ gcr.io/gem5-test/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.
@@ -101,10 +105,10 @@
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:latest
+docker pull gcr.io/gem5-test/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:latest bash -c \
+ gcr.io/gem5-test/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)"
@@ -119,7 +123,7 @@
# 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:latest build/${gpu_isa}/gem5.opt \
+ gcr.io/gem5-test/gcn-gpu:${tag} build/${gpu_isa}/gem5.opt \
configs/example/apu_se.py --reg-alloc-policy=dynamic -n3 -c square
# get HeteroSync
@@ -131,7 +135,7 @@
# 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:latest build/${gpu_isa}/gem5.opt \
+ gcr.io/gem5-test/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"
@@ -142,7 +146,7 @@
# 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:latest build/${gpu_isa}/gem5.opt \
+ gcr.io/gem5-test/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"
@@ -153,7 +157,7 @@
docker run -u $UID:$GID --volume "${gem5_root}":"${gem5_root}" -w \
"${gem5_root}" --rm --memory="${docker_mem_limit}" \
- gcr.io/gem5-test/sst-env:latest bash -c "\
+ gcr.io/gem5-test/sst-env:${tag} bash -c "\
scons build/${isa}/libgem5_${variant}.so -j${compile_threads} \
--without-tcmalloc --ignore-style; \
cd ext/sst; \
@@ -168,7 +172,7 @@
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_all-dependencies:latest bash -c "\
+ gcr.io/gem5-test/ubuntu-22.04_all-dependencies:${tag} bash -c "\
scons -j${compile_threads} --ignore-style build/ARM/gem5.opt; \
scons --with-cxx-config --without-python --without-tcmalloc USE_SYSTEMC=0 \
-j${compile_threads} build/ARM/libgem5_opt.so \
@@ -176,7 +180,7 @@
docker run -u $UID:$GID --volume "${gem5_root}":"${gem5_root}" -w \
"${gem5_root}" --memory="${docker_mem_limit}" --rm \
- gcr.io/gem5-test/systemc-env:latest bash -c "\
+ gcr.io/gem5-test/systemc-env:${tag} bash -c "\
cd util/systemc/gem5_within_systemc; \
make -j${compile_threads}; \
../../../build/ARM/gem5.opt ../../../configs/example/se.py -c \