From b142a6c3ea76c30bf5be53f2474397f6010174af Mon Sep 17 00:00:00 2001 From: Mathieu Tarral Date: Wed, 7 Jan 2026 17:59:18 +0100 Subject: [PATCH 1/6] Dockerfile: update baseimage --- Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index 3ed6c66e..07aa9f75 100644 --- a/Dockerfile +++ b/Dockerfile @@ -14,7 +14,7 @@ ARG PUBLIC_SIMICS_PACKAGE_VERSION_1000="6.0.185" ARG USER_UID=1000 ARG USERNAME=vscode -FROM fedora:42@sha256:0c5ab5380e63cb322552d624d2c78b835f11b526cfd32e1d6f687d0c245f38ce AS create-user +FROM fedora:42@sha256:b3d16134560afa00d7cc2a9e4967eb5b954512805f3fe27d8e70bbed078e22ea AS create-user # redeclare ARGs ARG http_proxy ARG https_proxy From a97ec45446b919e31bf41e0fc94f720d35319634 Mon Sep 17 00:00:00 2001 From: Mathieu Tarral Date: Wed, 7 Jan 2026 20:04:18 +0100 Subject: [PATCH 2/6] ci: aggressive cleanup for check_docker_image and build for Linux jobs --- .github/workflows/ci.yml | 88 +++++++++++++++++++++++++++++++++++++++- 1 file changed, 87 insertions(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 4fb7388a..3474be1f 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -399,6 +399,53 @@ jobs: with: egress-policy: audit + - name: Aggressive cleanup + run: | + # Remove Java (JDKs) + sudo rm -rf /usr/lib/jvm + + # Remove .NET SDKs + sudo rm -rf /usr/share/dotnet + + # Remove Swift toolchain + sudo rm -rf /usr/share/swift + + # Remove Haskell (GHC) + sudo rm -rf /usr/local/.ghcup + + # Rustup + sudo rm -rf /home/runner/.rustup + + # Remove Julia + sudo rm -rf /usr/local/julia* + + # Remove Android SDKs + sudo rm -rf /usr/local/lib/android + + # Remove Chromium (optional if not using for browser tests) + sudo rm -rf /usr/local/share/chromium + + # Google Cloud SDK + sudo rm -rf /usr/lib/google-cloud-sdk + + # Remove Microsoft/Edge and Google Chrome builds + sudo rm -rf /opt/microsoft /opt/google + + # Remove Azure CLI + sudo rm -rf /opt/az + + # Remove PowerShell + sudo rm -rf /usr/local/share/powershell + + # Remove tool cache (not needed, Rust installed via dtolnay action) + sudo rm -rf /opt/hostedtoolcache + + # Remove GHC binaries + sudo rm -rf /opt/ghc + + # Remove Homebrew for Linux + sudo rm -rf /home/linuxbrew + - name: Add ISPM to PATH run: | echo "${HOME}/simics/ispm/" >> "${GITHUB_PATH}" @@ -507,6 +554,10 @@ jobs: - name: Build TSFFS Package run: | cargo simics-build -r + cargo clean + env: + CARGO_INCREMENTAL: 0 # Disable incremental compilation to save disk space + RUSTFLAGS: "-C debuginfo=0" # Disable debug info to reduces intermediate file sizes - name: CT39 - Clippy Check Project run: | @@ -529,6 +580,9 @@ jobs: run: | SIMICS_TEST_CLEANUP_EACH=1 SIMICS_TEST_LOCAL_PACKAGES_ONLY=1 cargo test --no-fail-fast -r _latest || ( echo "❗ Tests failed" && exit 1 ) echo "✅ Tests passed" + env: + CARGO_INCREMENTAL: 0 # Disable incremental compilation to save disk space + RUSTFLAGS: "-C debuginfo=0" # Disable debug info to reduces intermediate file sizes - name: Build Docs run: | @@ -685,7 +739,7 @@ jobs: - name: Set up Python 3.11 uses: actions/setup-python@v6 with: - python-version: '3.11' + python-version: "3.11" - name: Extract Rust channel from rust-toolchain.toml id: rust-channel @@ -727,6 +781,38 @@ jobs: with: egress-policy: audit + - name: Aggressive cleanup + run: | + # Remove Java (JDKs) + sudo rm -rf /usr/lib/jvm + + # Remove .NET SDKs + sudo rm -rf /usr/share/dotnet + + # Remove Swift toolchain + sudo rm -rf /usr/share/swift + + # Remove Haskell (GHC) + sudo rm -rf /usr/local/.ghcup + + # Remove Julia + sudo rm -rf /usr/local/julia* + + # Remove Android SDKs + sudo rm -rf /usr/local/lib/android + + # Remove Chromium (optional if not using for browser tests) + sudo rm -rf /usr/local/share/chromium + + # Remove Microsoft/Edge and Google Chrome builds + sudo rm -rf /opt/microsoft /opt/google + + # Remove Azure CLI + sudo rm -rf /opt/az + + # Remove PowerShell + sudo rm -rf /usr/local/share/powershell + - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 with: fetch-depth: 0 From 10c06e3b3c0a42e053facdf708986590ea808ae9 Mon Sep 17 00:00:00 2001 From: Mathieu Tarral Date: Thu, 8 Jan 2026 15:12:18 +0100 Subject: [PATCH 3/6] ci: clean dnf cache to free some space on Linux job --- .github/workflows/ci.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 3474be1f..27bf75c3 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -460,6 +460,8 @@ jobs: glibc-static.i686 gtk3 jq lld lld-devel lld-libs llvm llvm-libs \ llvm-static make mesa-libgbm mtools ninja-build openssl \ openssl-devel openssl-libs python3 python3-pip yamllint + dnf clean all + rm -rf /var/cache/dnf - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 with: From 5e4097b470140df2496a4001a17cba22df902d02 Mon Sep 17 00:00:00 2001 From: Mathieu Tarral Date: Thu, 8 Jan 2026 13:59:54 +0100 Subject: [PATCH 4/6] ci: install ca-certificates in Dockerfile --- .github/builder/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/builder/Dockerfile b/.github/builder/Dockerfile index 1a41cf0d..85ded7d2 100644 --- a/.github/builder/Dockerfile +++ b/.github/builder/Dockerfile @@ -11,7 +11,7 @@ COPY .github/builder/rsrc/cfe-5.0.2.src.tar.xz /install/cfe-5.0.2.src.tar.xz COPY .github/builder/rsrc/llvm-5.0.2.src.tar.xz /install/llvm-5.0.2.src.tar.xz COPY .github/builder/rsrc/rpms /install/rpms -RUN yum -y install /install/rpms/*.rpm && yum clean all +RUN yum -y install /install/rpms/*.rpm && yum -y install ca-certificates && yum clean all RUN tar -C /install --strip-components=1 -xvf /install/rust-nightly-x86_64-unknown-linux-gnu.tar.xz && \ /install/install.sh && \ From 665434d334b393359ef91877b643d2e665d060ab Mon Sep 17 00:00:00 2001 From: Mathieu Tarral Date: Thu, 8 Jan 2026 15:14:45 +0100 Subject: [PATCH 5/6] ci: enforce x86_64-pc-windows-gnu target --- .github/workflows/ci.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 27bf75c3..f609484c 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -674,10 +674,11 @@ jobs: with: lfs: true + # enforce the gnu target here, since cargo-simics-build isn't compatible with x86_64-pc-windows-msvc - name: Setup, Build, and Install TSFFS run: | cargo install cargo-simics-build - cargo simics-build -r + cargo simics-build -r --target x86_64-pc-windows-gnu - name: Upload Distribution Package uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0 From bc4753f0dc41a53e58e284de9e01484f6d2e8221 Mon Sep 17 00:00:00 2001 From: Mathieu Tarral Date: Thu, 15 Jan 2026 14:51:00 +0100 Subject: [PATCH 6/6] ci: free more space --- .github/workflows/ci.yml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index f609484c..5d760bf4 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -538,6 +538,7 @@ jobs: "${{ env.PUBLIC_SIMICS_PKGS_URL }}" && \ tar -C "${HOME}/simics/ispm" --strip-components=1 \ -xvf "${HOME}/simics/ispm.tar.gz" + rm -f "${HOME}/simics/ispm.tar.gz" - name: Set up SIMICS Install Directory run: | @@ -548,6 +549,7 @@ jobs: run: | ispm packages --install-bundle "${HOME}/simics/simics.ispm" \ --non-interactive --trust-insecure-packages + rm "${HOME}/simics/simics.ispm" - name: Install SIMICS Build run: | @@ -560,6 +562,7 @@ jobs: env: CARGO_INCREMENTAL: 0 # Disable incremental compilation to save disk space RUSTFLAGS: "-C debuginfo=0" # Disable debug info to reduces intermediate file sizes + CARGO_PROFILE_RELEASE_DEBUG: 0 - name: CT39 - Clippy Check Project run: | @@ -585,6 +588,7 @@ jobs: env: CARGO_INCREMENTAL: 0 # Disable incremental compilation to save disk space RUSTFLAGS: "-C debuginfo=0" # Disable debug info to reduces intermediate file sizes + CARGO_PROFILE_TEST_DEBUG: 0 - name: Build Docs run: |