util-docker: Cleanup, refactor, better document Dockerfiles (#1292)
* Removes the "docker-compose.yaml" in favor of "docker-bake.hcl". This uses the `docker buildx` tool which has the advantage of enabling multi-platformm builds where desired. By default all images are built targeting `linux/arm64`, `linux/amd64` and `linux/riscv64` as targets with the exception of the GPU images where only `linux/amd64` makes sense. * Remove unused/older Docker build targets (these can easily be re-added but they were not regularly built or have any current usage). * Update "README.md" to better describe these Dockerfiles and how they are built. * Simplify GCC and Clang compiler images. Each uses the Ubuntu 24.04 All Deps image as a base then specialized the compiler on top. * To simply things, all compiler versions are built from 24.04. This means **narrowing the supported versions from GCC v10 to v14 and Clang v14 to v18**. * Fix some bugs in the "docker-bake.hcl" thus ensuring all targets may be built from it. * Cleanup the systemc and sst images: reducing their size and building them off the common 24.04 ubuntu base image.
This commit is contained in:
2
.github/workflows/ci-tests.yaml
vendored
2
.github/workflows/ci-tests.yaml
vendored
@@ -96,7 +96,7 @@ jobs:
|
||||
# for compilation error to be exposed.
|
||||
runs-on: [self-hosted, linux, x64]
|
||||
if: github.event.pull_request.draft == false
|
||||
container: ghcr.io/gem5/clang-version-16:latest
|
||||
container: ghcr.io/gem5/clang-version-18:latest
|
||||
needs: [pre-commit, check-for-change-id]
|
||||
timeout-minutes: 90
|
||||
steps:
|
||||
|
||||
7
.github/workflows/compiler-tests.yaml
vendored
7
.github/workflows/compiler-tests.yaml
vendored
@@ -13,9 +13,8 @@ jobs:
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
image: [gcc-version-13, gcc-version-12, gcc-version-11, gcc-version-10, clang-version-16, clang-version-15, clang-version-14, clang-version-13,
|
||||
clang-version-12, clang-version-11, clang-version-10, ubuntu-20.04_all-dependencies, ubuntu-22.04_all-dependencies, ubuntu-24.04_all-dependencies,
|
||||
ubuntu-24.04_min-dependencies]
|
||||
image: [gcc-version-13, gcc-version-12, gcc-version-11, gcc-version-10, clang-version-18, clang-version-17, clang-version-16, clang-version-15,
|
||||
clang-version-14, ubuntu-22.04_all-dependencies, ubuntu-24.04_all-dependencies, ubuntu-24.04_min-dependencies]
|
||||
opts: [.opt, .fast]
|
||||
runs-on: [self-hosted, linux, x64]
|
||||
timeout-minutes: 2880 # 48 hours
|
||||
@@ -33,7 +32,7 @@ jobs:
|
||||
matrix:
|
||||
gem5-compilation: [ARM, ARM_MESI_Three_Level, ARM_MESI_Three_Level_HTM, ARM_MOESI_hammer, Garnet_standalone, MIPS, 'NULL', NULL_MESI_Two_Level,
|
||||
NULL_MOESI_CMP_directory, NULL_MOESI_CMP_token, NULL_MOESI_hammer, POWER, RISCV, SPARC, X86, X86_MI_example, X86_MOESI_AMD_Base, VEGA_X86]
|
||||
image: [gcc-version-13, clang-version-16]
|
||||
image: [gcc-version-13, clang-version-18]
|
||||
opts: [.opt]
|
||||
runs-on: [self-hosted, linux, x64]
|
||||
timeout-minutes: 2880 # 48 hours
|
||||
|
||||
Reference in New Issue
Block a user