From df471092d94cec540525a4d9c529eaed046b2718 Mon Sep 17 00:00:00 2001 From: Ivana Mitrovic Date: Thu, 5 Oct 2023 10:53:07 -0700 Subject: [PATCH 1/5] dockerfiles: multi-platform setup (#336) Updated Dockerfiles to work with multi-platform setups --- util/dockerfiles/gcn-gpu/Dockerfile | 2 +- util/dockerfiles/gem5-all-min-dependencies/Dockerfile | 4 ++-- util/dockerfiles/gpu-fs/Dockerfile | 2 +- util/dockerfiles/llvm-gnu-cross-compiler-riscv64/Dockerfile | 2 +- util/dockerfiles/sst/Dockerfile | 2 +- util/dockerfiles/systemc-2.3.3/Dockerfile | 2 +- util/dockerfiles/ubuntu-20.04_gcc-version/Dockerfile | 2 +- util/dockerfiles/ubuntu-22.04_clang-16/Dockerfile | 2 +- util/dockerfiles/ubuntu-22.04_clang-version/Dockerfile | 2 +- util/dockerfiles/ubuntu-22.04_gcc-version/Dockerfile | 2 +- util/dockerfiles/ubuntu-22.04_min-dependencies/Dockerfile | 2 +- 11 files changed, 12 insertions(+), 12 deletions(-) diff --git a/util/dockerfiles/gcn-gpu/Dockerfile b/util/dockerfiles/gcn-gpu/Dockerfile index 85ec6d7c0d..9aead08c43 100644 --- a/util/dockerfiles/gcn-gpu/Dockerfile +++ b/util/dockerfiles/gcn-gpu/Dockerfile @@ -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 \ diff --git a/util/dockerfiles/gem5-all-min-dependencies/Dockerfile b/util/dockerfiles/gem5-all-min-dependencies/Dockerfile index b28b674fa7..cb73ab0bce 100644 --- a/util/dockerfiles/gem5-all-min-dependencies/Dockerfile +++ b/util/dockerfiles/gem5-all-min-dependencies/Dockerfile @@ -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" ] diff --git a/util/dockerfiles/gpu-fs/Dockerfile b/util/dockerfiles/gpu-fs/Dockerfile index 63ae6b0783..fb2465e50c 100644 --- a/util/dockerfiles/gpu-fs/Dockerfile +++ b/util/dockerfiles/gpu-fs/Dockerfile @@ -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 \ diff --git a/util/dockerfiles/llvm-gnu-cross-compiler-riscv64/Dockerfile b/util/dockerfiles/llvm-gnu-cross-compiler-riscv64/Dockerfile index 0f01e7931d..cc84f3d45a 100644 --- a/util/dockerfiles/llvm-gnu-cross-compiler-riscv64/Dockerfile +++ b/util/dockerfiles/llvm-gnu-cross-compiler-riscv64/Dockerfile @@ -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 \ diff --git a/util/dockerfiles/sst/Dockerfile b/util/dockerfiles/sst/Dockerfile index b392c241fc..50027fe5b2 100644 --- a/util/dockerfiles/sst/Dockerfile +++ b/util/dockerfiles/sst/Dockerfile @@ -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 && \ diff --git a/util/dockerfiles/systemc-2.3.3/Dockerfile b/util/dockerfiles/systemc-2.3.3/Dockerfile index ac94666d6d..41d4fafb93 100644 --- a/util/dockerfiles/systemc-2.3.3/Dockerfile +++ b/util/dockerfiles/systemc-2.3.3/Dockerfile @@ -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 && \ diff --git a/util/dockerfiles/ubuntu-20.04_gcc-version/Dockerfile b/util/dockerfiles/ubuntu-20.04_gcc-version/Dockerfile index 0ec8083c53..f79bcef2d9 100644 --- a/util/dockerfiles/ubuntu-20.04_gcc-version/Dockerfile +++ b/util/dockerfiles/ubuntu-20.04_gcc-version/Dockerfile @@ -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 diff --git a/util/dockerfiles/ubuntu-22.04_clang-16/Dockerfile b/util/dockerfiles/ubuntu-22.04_clang-16/Dockerfile index efefcc063f..045efbd13a 100644 --- a/util/dockerfiles/ubuntu-22.04_clang-16/Dockerfile +++ b/util/dockerfiles/ubuntu-22.04_clang-16/Dockerfile @@ -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 diff --git a/util/dockerfiles/ubuntu-22.04_clang-version/Dockerfile b/util/dockerfiles/ubuntu-22.04_clang-version/Dockerfile index 2c8d7c7b21..7ddf7fe825 100644 --- a/util/dockerfiles/ubuntu-22.04_clang-version/Dockerfile +++ b/util/dockerfiles/ubuntu-22.04_clang-version/Dockerfile @@ -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 diff --git a/util/dockerfiles/ubuntu-22.04_gcc-version/Dockerfile b/util/dockerfiles/ubuntu-22.04_gcc-version/Dockerfile index fcf909cec2..feac348780 100644 --- a/util/dockerfiles/ubuntu-22.04_gcc-version/Dockerfile +++ b/util/dockerfiles/ubuntu-22.04_gcc-version/Dockerfile @@ -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 diff --git a/util/dockerfiles/ubuntu-22.04_min-dependencies/Dockerfile b/util/dockerfiles/ubuntu-22.04_min-dependencies/Dockerfile index 978e2c6af5..690959da91 100644 --- a/util/dockerfiles/ubuntu-22.04_min-dependencies/Dockerfile +++ b/util/dockerfiles/ubuntu-22.04_min-dependencies/Dockerfile @@ -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 && \ From 5b721b033f841cbd5d342160ee5312899a9c5074 Mon Sep 17 00:00:00 2001 From: Ivana Mitrovic Date: Thu, 5 Oct 2023 11:23:38 -0700 Subject: [PATCH 2/5] docker-bake: modified .hcl file Migrated all the image build definitions from docker-compose.yaml to the bake file. --- util/dockerfiles/docker-bake.hcl | 135 +++++++++++++++++++++++++++---- 1 file changed, 121 insertions(+), 14 deletions(-) diff --git a/util/dockerfiles/docker-bake.hcl b/util/dockerfiles/docker-bake.hcl index d508ecd45e..29df790a95 100644 --- a/util/dockerfiles/docker-bake.hcl +++ b/util/dockerfiles/docker-bake.hcl @@ -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-a", "clang-compilers-b", "clang-compilers-16"] +} + +group "gcc-compilers" { + targets = ["gcc-compilers-a", "gcc-compilers-b"] } # 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,88 @@ 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-a" { + 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-b" { + 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-a" { + 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-b" { + 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}"] +} + From 45df1dbb557204f056f201a69c252effa2e5922f Mon Sep 17 00:00:00 2001 From: Ivana Mitrovic Date: Mon, 9 Oct 2023 08:55:54 -0700 Subject: [PATCH 3/5] docker-images: Changed path from Google Registry to GitHub Replaced all instances of the Google Docker registry (gcr.io/gem5-test/) with the GitHub Docker registry (ghcr.io/gem5/). --- .github/workflows/compiler-tests.yaml | 4 ++-- .github/workflows/daily-tests.yaml | 14 +++++++------- .github/workflows/gpu-tests.yaml | 4 ++-- .github/workflows/weekly-tests.yaml | 6 +++--- tests/deprecated/compiler-tests.sh | 2 +- tests/deprecated/jenkins/presubmit.sh | 4 ++-- tests/deprecated/nightly.sh | 22 +++++++++++----------- tests/deprecated/weekly.sh | 14 +++++++------- 8 files changed, 35 insertions(+), 35 deletions(-) diff --git a/.github/workflows/compiler-tests.yaml b/.github/workflows/compiler-tests.yaml index 1a340e0bf5..ac092cd3d3 100644 --- a/.github/workflows/compiler-tests.yaml +++ b/.github/workflows/compiler-tests.yaml @@ -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: diff --git a/.github/workflows/daily-tests.yaml b/.github/workflows/daily-tests.yaml index 36006d03e4..89a72fd852 100644 --- a/.github/workflows/daily-tests.yaml +++ b/.github/workflows/daily-tests.yaml @@ -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: diff --git a/.github/workflows/gpu-tests.yaml b/.github/workflows/gpu-tests.yaml index 43eff95529..fe6df5eb1e 100644 --- a/.github/workflows/gpu-tests.yaml +++ b/.github/workflows/gpu-tests.yaml @@ -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: diff --git a/.github/workflows/weekly-tests.yaml b/.github/workflows/weekly-tests.yaml index b21613f7a1..17f111fc42 100644 --- a/.github/workflows/weekly-tests.yaml +++ b/.github/workflows/weekly-tests.yaml @@ -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 diff --git a/tests/deprecated/compiler-tests.sh b/tests/deprecated/compiler-tests.sh index a7ae397eac..e8da335de4 100755 --- a/tests/deprecated/compiler-tests.sh +++ b/tests/deprecated/compiler-tests.sh @@ -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 diff --git a/tests/deprecated/jenkins/presubmit.sh b/tests/deprecated/jenkins/presubmit.sh index 91eb95f81b..becf499d28 100755 --- a/tests/deprecated/jenkins/presubmit.sh +++ b/tests/deprecated/jenkins/presubmit.sh @@ -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 diff --git a/tests/deprecated/nightly.sh b/tests/deprecated/nightly.sh index 9503cd1f61..53ad374c3c 100755 --- a/tests/deprecated/nightly.sh +++ b/tests/deprecated/nightly.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 \ diff --git a/tests/deprecated/weekly.sh b/tests/deprecated/weekly.sh index 809c9a1427..17d68426a6 100755 --- a/tests/deprecated/weekly.sh +++ b/tests/deprecated/weekly.sh @@ -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 From cb078f14c6da185cac1cdde5a90c0437a44cb725 Mon Sep 17 00:00:00 2001 From: Ivana Mitrovic Date: Thu, 12 Oct 2023 10:44:43 -0700 Subject: [PATCH 4/5] docker-bake: Changed compilers names to be more descriptive --- util/dockerfiles/docker-bake.hcl | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/util/dockerfiles/docker-bake.hcl b/util/dockerfiles/docker-bake.hcl index 29df790a95..8f98a07558 100644 --- a/util/dockerfiles/docker-bake.hcl +++ b/util/dockerfiles/docker-bake.hcl @@ -48,11 +48,11 @@ group "ubuntu-releases" { } group "clang-compilers" { - targets = ["clang-compilers-a", "clang-compilers-b", "clang-compilers-16"] + targets = ["clang-compilers-base-20-04", "clang-compilers-base-22-04", "clang-compilers-16"] } group "gcc-compilers" { - targets = ["gcc-compilers-a", "gcc-compilers-b"] + targets = ["gcc-compilers-base-20-04", "gcc-compilers-base-22-04"] } # Common attributes across all targets. Note: these can be overwritten. @@ -111,7 +111,7 @@ target "ubuntu-22-04_min-dependencies" { tags = ["${IMAGE_URI}/ubuntu-22.04_min-dependencies:${TAG}"] } -target "gcc-compilers-a" { +target "gcc-compilers-base-20-04" { name = "gcc-compilers-${replace(ver, ".", "-")}" inherits = ["common"] context = "ubuntu-20.04_gcc-version" @@ -125,7 +125,7 @@ target "gcc-compilers-a" { tags = ["${IMAGE_URI}/gcc-version-${ver}:${TAG}"] } -target "gcc-compilers-b" { +target "gcc-compilers-base-22-04" { name = "gcc-compilers-${replace(ver, ".", "-")}" inherits = ["common"] context = "ubuntu-22.04_gcc-version" @@ -139,7 +139,7 @@ target "gcc-compilers-b" { tags = ["${IMAGE_URI}/gcc-version-${ver}:${TAG}"] } -target "clang-compilers-a" { +target "clang-compilers-base-20-04" { name = "clang-compilers-${replace(ver, ".", "-")}" inherits = ["common"] context = "ubuntu-20.04_clang-version" @@ -153,7 +153,7 @@ target "clang-compilers-a" { tags = ["${IMAGE_URI}/clang-version-${ver}:${TAG}"] } -target "clang-compilers-b" { +target "clang-compilers-base-22-04" { name = "clang-compilers-${replace(ver, ".", "-")}" inherits = ["common"] context = "ubuntu-22.04_clang-version" From cfef2ac23be67c9d38917abef47de91736930118 Mon Sep 17 00:00:00 2001 From: "Bobby R. Bruce" Date: Mon, 16 Oct 2023 12:06:01 -0700 Subject: [PATCH 5/5] util-docker: Fix end-of-line error in docker-bake.hcl Change-Id: I2c792f35d8c74e29cf0dc0bc1287b6b5f3e4d6c8 --- util/dockerfiles/docker-bake.hcl | 1 - 1 file changed, 1 deletion(-) diff --git a/util/dockerfiles/docker-bake.hcl b/util/dockerfiles/docker-bake.hcl index 8f98a07558..8218290bd2 100644 --- a/util/dockerfiles/docker-bake.hcl +++ b/util/dockerfiles/docker-bake.hcl @@ -187,4 +187,3 @@ target "gem5-all-min-dependencies" { context = "gem5-all-min-dependencies" tags = ["${IMAGE_URI}/gem5-all-min-dependencies:${TAG}"] } -