From 3962fca2e3b2884e252bc08cdc4ec2804cf0b5ed Mon Sep 17 00:00:00 2001 From: "Bobby R. Bruce" Date: Thu, 11 Apr 2024 13:13:11 -0700 Subject: [PATCH 1/4] util-docker: Add ubuntu-24.04_all-deps Docker Change-Id: I5917c446cacc25d1a333b5cf8147ee78b112aeb3 --- util/dockerfiles/docker-bake.hcl | 9 ++- util/dockerfiles/docker-compose.yaml | 5 ++ .../ubuntu-24.04_all-dependencies/Dockerfile | 66 +++++++++++++++++++ 3 files changed, 79 insertions(+), 1 deletion(-) create mode 100644 util/dockerfiles/ubuntu-24.04_all-dependencies/Dockerfile diff --git a/util/dockerfiles/docker-bake.hcl b/util/dockerfiles/docker-bake.hcl index 2af05bb546..7cd05ce211 100644 --- a/util/dockerfiles/docker-bake.hcl +++ b/util/dockerfiles/docker-bake.hcl @@ -44,7 +44,7 @@ group "default" { } group "ubuntu-releases" { - targets=["ubuntu-22-04_all-dependencies", "ubuntu-20-04_all-dependencies", "ubuntu-22-04_min-dependencies"] + targets=["ubuntu-24-04_all-dependencies", "ubuntu-22-04_all-dependencies", "ubuntu-20-04_all-dependencies", "ubuntu-22-04_min-dependencies"] } group "clang-compilers" { @@ -90,6 +90,13 @@ target "systemc" { tags = ["${IMAGE_URI}/systemc-env:${TAG}"] } +target "ubuntu-24-04_all-dependencies" { + inherits = ["common"] + dockerfile = "Dockerfile" + context = "ubuntu-24.04_all-dependencies" + tags = ["${IMAGE_URI}/ubuntu-24.04_all-dependencies:${TAG}"] +} + target "ubuntu-22-04_all-dependencies" { inherits = ["common"] dockerfile = "Dockerfile" diff --git a/util/dockerfiles/docker-compose.yaml b/util/dockerfiles/docker-compose.yaml index fe1275f02b..29b1a4b778 100644 --- a/util/dockerfiles/docker-compose.yaml +++ b/util/dockerfiles/docker-compose.yaml @@ -37,6 +37,11 @@ services: context: ubuntu-22.04_min-dependencies dockerfile: Dockerfile image: ghcr.io/gem5/ubuntu-22.04_min-dependencies:latest + ubuntu-24.04_all-dependencies: + build: + context: ubuntu-24.04_all-dependencies + dockerfile: Dockerfile + image: ghcr.io/gem5/ubuntu-24.04_all-dependencies:latest gcc-8: build: context: ubuntu-20.04_gcc-version diff --git a/util/dockerfiles/ubuntu-24.04_all-dependencies/Dockerfile b/util/dockerfiles/ubuntu-24.04_all-dependencies/Dockerfile new file mode 100644 index 0000000000..fc157261ab --- /dev/null +++ b/util/dockerfiles/ubuntu-24.04_all-dependencies/Dockerfile @@ -0,0 +1,66 @@ +# Copyright (c) 2024 The Regents of the University of California +# All Rights Reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions are +# met: redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer; +# redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution; +# neither the name of the copyright holders nor the names of its +# contributors may be used to endorse or promote products derived from +# this software without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +# 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 --platform=${BUILDPLATFORM} ubuntu:24.04 + +ENV DEBIAN_FRONTEND=noninteractive +RUN apt -y update && apt -y upgrade && apt -y install \ + build-essential \ + scons \ + python3-dev \ + git \ + pre-commit \ + zlib1g \ + zlib1g-dev \ + libprotobuf-dev \ + protobuf-compiler \ + libprotoc-dev \ + libgoogle-perftools-dev \ + libboost-all-dev \ + libhdf5-serial-dev \ + python3-pydot \ + python3-venv \ + python3-tk \ + mypy \ + m4 \ + libcapstone-dev \ + libpng-dev \ + libelf-dev \ + pkg-config \ + wget \ + cmake \ + doxygen + +# pre-commit, as installed via apt in 24.04, attempts to create a cache +# directory at "${HOME}/.cache/pre-commit". If running docker with non-root, +# the HOME directory is set to "/". Since non-root users do not have permission +# to write to this directory, an error is returned when pre-commit is executed. +# pre-commit's default cache directory can be changed via the `XDG_CACHE_HOME` +# enivoronment variable. Here we set it to "/tmp". With this pre-commit will +# create a "/tmp/pre-commit" directory to use for caching. "/tmp" was chosen +# as it's a directory any user can access and write to. Given this only stores +# caching information, the "/tmp" directory being wiped is not a concern. +ENV XDG_CACHE_HOME=/tmp/ From d091c64db18505c8ee730275ad3efb167f5ce75f Mon Sep 17 00:00:00 2001 From: "Bobby R. Bruce" Date: Thu, 11 Apr 2024 15:35:54 -0700 Subject: [PATCH 2/4] util-docker: Add Ubuntu 24.04 min-dep Docker Change-Id: Ia5cb4f2fd54ce53494ab95705b4f6006648d7eba --- util/dockerfiles/docker-bake.hcl | 9 +++++- util/dockerfiles/docker-compose.yaml | 5 +++ .../ubuntu-24.04_min-dependencies/Dockerfile | 31 +++++++++++++++++++ 3 files changed, 44 insertions(+), 1 deletion(-) create mode 100644 util/dockerfiles/ubuntu-24.04_min-dependencies/Dockerfile diff --git a/util/dockerfiles/docker-bake.hcl b/util/dockerfiles/docker-bake.hcl index 7cd05ce211..9b999124b6 100644 --- a/util/dockerfiles/docker-bake.hcl +++ b/util/dockerfiles/docker-bake.hcl @@ -44,7 +44,7 @@ group "default" { } group "ubuntu-releases" { - targets=["ubuntu-24-04_all-dependencies", "ubuntu-22-04_all-dependencies", "ubuntu-20-04_all-dependencies", "ubuntu-22-04_min-dependencies"] + targets=["ubuntu-24-04_all-dependencies", "ubuntu-22-04_all-dependencies", "ubuntu-20-04_all-dependencies", "ubuntu-22-04_min-dependencies", "ubuntu-24-04_min-dependencies"] } group "clang-compilers" { @@ -119,6 +119,13 @@ target "ubuntu-20-04_all-dependencies" { tags = ["${IMAGE_URI}/ubuntu-20.04_all-dependencies:${TAG}"] } +target "ubuntu-24-04_min-dependencies" { + inherits = ["common"] + dockerfile = "Dockerfile" + context = "ubuntu-24.04_min-dependencies" + tags = ["${IMAGE_URI}/ubuntu-24.04_min-dependencies:${TAG}"] +} + target "ubuntu-22-04_min-dependencies" { inherits = ["common"] dockerfile = "Dockerfile" diff --git a/util/dockerfiles/docker-compose.yaml b/util/dockerfiles/docker-compose.yaml index 29b1a4b778..b3c39cbd31 100644 --- a/util/dockerfiles/docker-compose.yaml +++ b/util/dockerfiles/docker-compose.yaml @@ -42,6 +42,11 @@ services: context: ubuntu-24.04_all-dependencies dockerfile: Dockerfile image: ghcr.io/gem5/ubuntu-24.04_all-dependencies:latest + ubuntu-24.04_min-dependencies: + build: + context: ubuntu-24.04_min-dependencies + dockerfile: Dockerfile + image: ghcr.io/gem5/ubuntu-24.04_min-dependencies:latest gcc-8: build: context: ubuntu-20.04_gcc-version diff --git a/util/dockerfiles/ubuntu-24.04_min-dependencies/Dockerfile b/util/dockerfiles/ubuntu-24.04_min-dependencies/Dockerfile new file mode 100644 index 0000000000..cdac54a791 --- /dev/null +++ b/util/dockerfiles/ubuntu-24.04_min-dependencies/Dockerfile @@ -0,0 +1,31 @@ +# Copyright (c) 2024 The Regents of the University of California +# All Rights Reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions are +# met: redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer; +# redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution; +# neither the name of the copyright holders nor the names of its +# contributors may be used to endorse or promote products derived from +# this software without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +# 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 --platform=${BUILDPLATFORM} ubuntu:24.04 + +ENV DEBIAN_FRONTEND=noninteractive +RUN apt -y update && apt -y upgrade && \ + apt -y install build-essential m4 scons python3-dev From 05bc85aa9b4ddb5ce98b9e0cc850c74e98838b64 Mon Sep 17 00:00:00 2001 From: "Bobby R. Bruce" Date: Thu, 11 Apr 2024 17:32:36 -0700 Subject: [PATCH 3/4] misc: Update Update GitHub Actions to use 24.04 over 22.04 This change ensures all our tests run on our most recent supported LTS release of Ubuntu. In the case of compiler tests we still test 22.04 all-dep but test 24.04 all-dep and min-dep (i.e., we drop 22.04 min-dep as it's somewhat redundant). Change-Id: I63666d1017594b496523a48e5112a8994f57885f --- .github/workflows/ci-tests.yaml | 8 ++++---- .github/workflows/compiler-tests.yaml | 2 +- .github/workflows/daily-tests.yaml | 8 ++++---- .github/workflows/docker-build.yaml | 2 +- .github/workflows/weekly-tests.yaml | 6 +++--- 5 files changed, 13 insertions(+), 13 deletions(-) diff --git a/.github/workflows/ci-tests.yaml b/.github/workflows/ci-tests.yaml index bc35583c17..345add3c44 100644 --- a/.github/workflows/ci-tests.yaml +++ b/.github/workflows/ci-tests.yaml @@ -50,7 +50,7 @@ jobs: unittests-all-opt: runs-on: [self-hosted, linux, x64] if: github.event.pull_request.draft == false - container: ghcr.io/gem5/ubuntu-22.04_all-dependencies:latest + container: ghcr.io/gem5/ubuntu-24.04_all-dependencies:latest needs: [pre-commit, check-for-change-id] # only runs if pre-commit and change-id passes timeout-minutes: 60 steps: @@ -65,7 +65,7 @@ jobs: if: github.event.pull_request.draft == false # In order to make sure the environment is exactly the same, we run in # the same container we use to build gem5 and run the testlib tests. This - container: ghcr.io/gem5/ubuntu-22.04_all-dependencies:latest + container: ghcr.io/gem5/ubuntu-24.04_all-dependencies:latest needs: [pre-commit, check-for-change-id] steps: - uses: actions/checkout@v4 @@ -108,7 +108,7 @@ jobs: testlib-quick-gem5-builds: runs-on: [self-hosted, linux, x64] if: github.event.pull_request.draft == false - container: ghcr.io/gem5/ubuntu-22.04_all-dependencies:latest + container: ghcr.io/gem5/ubuntu-24.04_all-dependencies:latest needs: [pre-commit, check-for-change-id, testlib-quick-matrix] strategy: matrix: @@ -138,7 +138,7 @@ jobs: testlib-quick-execution: runs-on: [self-hosted, linux, x64] if: github.event.pull_request.draft == false - container: ghcr.io/gem5/ubuntu-22.04_all-dependencies:latest + container: ghcr.io/gem5/ubuntu-24.04_all-dependencies:latest needs: [pre-commit, check-for-change-id, testlib-quick-matrix, testlib-quick-gem5-builds] timeout-minutes: 360 # 6 hours strategy: diff --git a/.github/workflows/compiler-tests.yaml b/.github/workflows/compiler-tests.yaml index fde8f3cd44..bce85e82ff 100644 --- a/.github/workflows/compiler-tests.yaml +++ b/.github/workflows/compiler-tests.yaml @@ -18,7 +18,7 @@ jobs: matrix: image: [gcc-version-13, gcc-version-12, gcc-version-11, gcc-version-10, gcc-version-8, clang-version-16, clang-version-15, clang-version-14, clang-version-13, clang-version-12, clang-version-11, clang-version-10, clang-version-9, clang-version-8, clang-version-7, ubuntu-20.04_all-dependencies, - ubuntu-22.04_all-dependencies, ubuntu-22.04_min-dependencies] + 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 diff --git a/.github/workflows/daily-tests.yaml b/.github/workflows/daily-tests.yaml index d74d0788fd..68c438f843 100644 --- a/.github/workflows/daily-tests.yaml +++ b/.github/workflows/daily-tests.yaml @@ -46,7 +46,7 @@ jobs: isa-option: 'NULL' runs-on: [self-hosted, linux, x64] needs: name-artifacts - container: ghcr.io/gem5/ubuntu-22.04_all-dependencies:latest + container: ghcr.io/gem5/ubuntu-24.04_all-dependencies:latest steps: - uses: actions/checkout@v4 with: @@ -74,7 +74,7 @@ jobs: matrix: type: [fast, debug] runs-on: [self-hosted, linux, x64] - container: ghcr.io/gem5/ubuntu-22.04_all-dependencies:latest + container: ghcr.io/gem5/ubuntu-24.04_all-dependencies:latest timeout-minutes: 60 steps: - uses: actions/checkout@v4 @@ -93,7 +93,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: ghcr.io/gem5/ubuntu-22.04_all-dependencies:latest + container: ghcr.io/gem5/ubuntu-24.04_all-dependencies:latest needs: [name-artifacts, build-gem5] timeout-minutes: 1440 # 24 hours for entire matrix to run steps: @@ -182,7 +182,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: ghcr.io/gem5/ubuntu-22.04_all-dependencies:latest + container: ghcr.io/gem5/ubuntu-24.04_all-dependencies:latest needs: [name-artifacts, build-gem5] timeout-minutes: 1440 # 24 hours steps: diff --git a/.github/workflows/docker-build.yaml b/.github/workflows/docker-build.yaml index c9e259d7f4..2afa907d0d 100644 --- a/.github/workflows/docker-build.yaml +++ b/.github/workflows/docker-build.yaml @@ -6,7 +6,7 @@ on: jobs: obtain-dockerfiles: runs-on: [self-hosted, linux, x64] - container: ghcr.io/gem5/ubuntu-22.04_all-dependencies:latest + container: ghcr.io/gem5/ubuntu-24.04_all-dependencies:latest steps: - uses: actions/checkout@v4 diff --git a/.github/workflows/weekly-tests.yaml b/.github/workflows/weekly-tests.yaml index a7a4ffbbad..308e4fd5d2 100644 --- a/.github/workflows/weekly-tests.yaml +++ b/.github/workflows/weekly-tests.yaml @@ -92,7 +92,7 @@ jobs: build-gem5: runs-on: [self-hosted, linux, x64] - container: ghcr.io/gem5/ubuntu-22.04_all-dependencies:latest + container: ghcr.io/gem5/ubuntu-24.04_all-dependencies:latest outputs: build-name: ${{ steps.artifact-name.outputs.name }} steps: @@ -120,7 +120,7 @@ jobs: matrix: test-type: [gem5_library_example_tests, gem5_resources, parsec_benchmarks, x86_boot_tests] runs-on: [self-hosted, linux, x64] - container: ghcr.io/gem5/ubuntu-22.04_all-dependencies:latest + container: ghcr.io/gem5/ubuntu-24.04_all-dependencies:latest needs: [build-gem5] timeout-minutes: 4320 # 3 days steps: @@ -157,7 +157,7 @@ jobs: dramsys-tests: runs-on: [self-hosted, linux, x64] - container: ghcr.io/gem5/ubuntu-22.04_all-dependencies:latest + container: ghcr.io/gem5/ubuntu-24.04_all-dependencies:latest timeout-minutes: 4320 # 3 days steps: - uses: actions/checkout@v4 From ccd9beb661e405ab73c702abb0a30a82728edbcd Mon Sep 17 00:00:00 2001 From: "Bobby R. Bruce" Date: Sat, 13 Apr 2024 12:39:03 -0700 Subject: [PATCH 4/4] util-docker: Remove 22.04 min-dep Dockerfile We only test the latest LTS Ubuntu release with min-deps. With 24.04, we no longer require the 22.04 min dependencies image. Change-Id: I4b3d668c1f9d10c2b6071848e6daada6c763b5e7 --- util/dockerfiles/docker-bake.hcl | 9 +----- util/dockerfiles/docker-compose.yaml | 5 --- .../ubuntu-22.04_min-dependencies/Dockerfile | 31 ------------------- 3 files changed, 1 insertion(+), 44 deletions(-) delete mode 100644 util/dockerfiles/ubuntu-22.04_min-dependencies/Dockerfile diff --git a/util/dockerfiles/docker-bake.hcl b/util/dockerfiles/docker-bake.hcl index 9b999124b6..7092d9cdb1 100644 --- a/util/dockerfiles/docker-bake.hcl +++ b/util/dockerfiles/docker-bake.hcl @@ -44,7 +44,7 @@ group "default" { } group "ubuntu-releases" { - targets=["ubuntu-24-04_all-dependencies", "ubuntu-22-04_all-dependencies", "ubuntu-20-04_all-dependencies", "ubuntu-22-04_min-dependencies", "ubuntu-24-04_min-dependencies"] + targets=["ubuntu-24-04_all-dependencies", "ubuntu-22-04_all-dependencies", "ubuntu-20-04_all-dependencies", "ubuntu-24-04_min-dependencies"] } group "clang-compilers" { @@ -126,13 +126,6 @@ target "ubuntu-24-04_min-dependencies" { tags = ["${IMAGE_URI}/ubuntu-24.04_min-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"] diff --git a/util/dockerfiles/docker-compose.yaml b/util/dockerfiles/docker-compose.yaml index b3c39cbd31..dca22c8e18 100644 --- a/util/dockerfiles/docker-compose.yaml +++ b/util/dockerfiles/docker-compose.yaml @@ -32,11 +32,6 @@ services: context: ubuntu-22.04_all-dependencies dockerfile: Dockerfile image: ghcr.io/gem5/ubuntu-22.04_all-dependencies:latest - ubuntu-22.04_min-dependencies: - build: - context: ubuntu-22.04_min-dependencies - dockerfile: Dockerfile - image: ghcr.io/gem5/ubuntu-22.04_min-dependencies:latest ubuntu-24.04_all-dependencies: build: context: ubuntu-24.04_all-dependencies diff --git a/util/dockerfiles/ubuntu-22.04_min-dependencies/Dockerfile b/util/dockerfiles/ubuntu-22.04_min-dependencies/Dockerfile deleted file mode 100644 index 690959da91..0000000000 --- a/util/dockerfiles/ubuntu-22.04_min-dependencies/Dockerfile +++ /dev/null @@ -1,31 +0,0 @@ -# Copyright (c) 2022 The Regents of the University of California -# All Rights Reserved. -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions are -# met: redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer; -# redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in the -# documentation and/or other materials provided with the distribution; -# neither the name of the copyright holders nor the names of its -# contributors may be used to endorse or promote products derived from -# this software without specific prior written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -# 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 --platform=${BUILDPLATFORM} ubuntu:22.04 - -ENV DEBIAN_FRONTEND=noninteractive -RUN apt -y update && apt -y upgrade && \ - apt -y install build-essential m4 scons python3-dev