From d393a09a58dfcfe9826b137e022a497464d78808 Mon Sep 17 00:00:00 2001 From: "Echo J." Date: Thu, 26 Mar 2026 15:12:41 +0200 Subject: [PATCH 1/6] CI: Remove redundant ccache options --- .github/workflows/build-linux.yml | 9 +-------- 1 file changed, 1 insertion(+), 8 deletions(-) diff --git a/.github/workflows/build-linux.yml b/.github/workflows/build-linux.yml index ece858d39..1850b0ff1 100644 --- a/.github/workflows/build-linux.yml +++ b/.github/workflows/build-linux.yml @@ -32,9 +32,6 @@ jobs: sudo apt-get update sudo apt-get install -y build-essential ccache python3 python3-pip ninja-build libsdl2-dev libgl-dev libglu1-mesa-dev libpthread-stubs0-dev libglm-dev python -m pip install meson - # Set a reasonable ccache size - ccache -M 5G || true - python -m pip install meson - name: Restore ccache uses: actions/cache@v4 @@ -52,10 +49,7 @@ jobs: env: CC: "ccache clang" CXX: "ccache clang++" - CCACHE_DIR: ${{ runner.temp }}/ccache run: | - mkdir -p "$CCACHE_DIR" - export CCACHE_DIR="$CCACHE_DIR" meson setup build --wipe --native-file=./scripts/llvm_native.txt - name: Build with Meson @@ -64,7 +58,6 @@ jobs: CXX: "ccache clang++" CCACHE_DIR: ${{ runner.temp }}/ccache run: | - export CCACHE_DIR="${{ runner.temp }}/ccache" # Use all available cores for faster parallel builds meson compile -C build -j $(nproc) -v Minecraft.Client @@ -76,4 +69,4 @@ jobs: with: name: minecraft-client-linux-${{ github.sha }} path: build/Minecraft.Client/Minecraft.Client - retention-days: 7 \ No newline at end of file + retention-days: 7 From b6699f02690b5cde2358552c5e07cc81e6a964f3 Mon Sep 17 00:00:00 2001 From: "Echo J." Date: Thu, 26 Mar 2026 15:27:48 +0200 Subject: [PATCH 2/6] CI: Use direct compiler variables instead of a native file This interferes with our ccache setup --- .github/workflows/build-linux.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/build-linux.yml b/.github/workflows/build-linux.yml index 1850b0ff1..36c2deb84 100644 --- a/.github/workflows/build-linux.yml +++ b/.github/workflows/build-linux.yml @@ -49,13 +49,13 @@ jobs: env: CC: "ccache clang" CXX: "ccache clang++" + CC_LD: lld + CXX_LD: lld run: | - meson setup build --wipe --native-file=./scripts/llvm_native.txt + meson setup build --wipe - name: Build with Meson env: - CC: "ccache clang" - CXX: "ccache clang++" CCACHE_DIR: ${{ runner.temp }}/ccache run: | # Use all available cores for faster parallel builds From a045d26f052866fb26c3f934eadc816dbdeac192 Mon Sep 17 00:00:00 2001 From: "Echo J." Date: Mon, 30 Mar 2026 08:02:04 +0000 Subject: [PATCH 3/6] CI: Fix the ccache path (and re-add cache key fallback) --- .github/workflows/build-linux.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/build-linux.yml b/.github/workflows/build-linux.yml index 36c2deb84..d5d0369cb 100644 --- a/.github/workflows/build-linux.yml +++ b/.github/workflows/build-linux.yml @@ -36,8 +36,9 @@ jobs: - name: Restore ccache uses: actions/cache@v4 with: - path: ~/.ccache + path: ${{ runner.temp }}/ccache key: ${{ runner.os }}-ccache-${{ hashFiles('**/meson.build') }} + restore-keys: ${{ runner.os }}-ccache- - name: Restore meson cache uses: actions/cache@v4 From 4f9250466844846df633ce421099d2d9e6e193d7 Mon Sep 17 00:00:00 2001 From: "Echo J." Date: Mon, 30 Mar 2026 08:03:21 +0000 Subject: [PATCH 4/6] CI: Remove useless Meson cache/patchelf installation --- .github/workflows/build-linux.yml | 9 --------- 1 file changed, 9 deletions(-) diff --git a/.github/workflows/build-linux.yml b/.github/workflows/build-linux.yml index d5d0369cb..e6f20ee67 100644 --- a/.github/workflows/build-linux.yml +++ b/.github/workflows/build-linux.yml @@ -40,12 +40,6 @@ jobs: key: ${{ runner.os }}-ccache-${{ hashFiles('**/meson.build') }} restore-keys: ${{ runner.os }}-ccache- - - name: Restore meson cache - uses: actions/cache@v4 - with: - path: ~/.cache/meson - key: ${{ runner.os }}-meson-${{ hashFiles('**/meson.build') }} - - name: Configure Meson env: CC: "ccache clang" @@ -62,9 +56,6 @@ jobs: # Use all available cores for faster parallel builds meson compile -C build -j $(nproc) -v Minecraft.Client - - name: Install patchelf - run: sudo apt-get install -y patchelf - - name: Upload artifact uses: actions/upload-artifact@v4 with: From a03bdcaedf775976987cc69b8ee4c4990b8dc091 Mon Sep 17 00:00:00 2001 From: "Echo J." Date: Mon, 30 Mar 2026 08:05:18 +0000 Subject: [PATCH 5/6] CI: Update cache action version --- .github/workflows/build-linux.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build-linux.yml b/.github/workflows/build-linux.yml index e6f20ee67..1cc6c6307 100644 --- a/.github/workflows/build-linux.yml +++ b/.github/workflows/build-linux.yml @@ -34,7 +34,7 @@ jobs: python -m pip install meson - name: Restore ccache - uses: actions/cache@v4 + uses: actions/cache@v5 with: path: ${{ runner.temp }}/ccache key: ${{ runner.os }}-ccache-${{ hashFiles('**/meson.build') }} From b9b033c0a04df4e134ac15a44dc49aa6127ade77 Mon Sep 17 00:00:00 2001 From: "Echo J." Date: Mon, 30 Mar 2026 08:39:15 +0000 Subject: [PATCH 6/6] CI: Allow manual triggering for all workflows --- .github/workflows/build-doxygen.yml | 2 ++ .github/workflows/build-linux.yml | 2 ++ .github/workflows/clang-format.yml | 2 ++ 3 files changed, 6 insertions(+) diff --git a/.github/workflows/build-doxygen.yml b/.github/workflows/build-doxygen.yml index 51fbce205..fd18e81bc 100644 --- a/.github/workflows/build-doxygen.yml +++ b/.github/workflows/build-doxygen.yml @@ -9,6 +9,8 @@ on: - "Minecraft.World/**" - "docs/**" + workflow_dispatch: + jobs: build: permissions: diff --git a/.github/workflows/build-linux.yml b/.github/workflows/build-linux.yml index 1cc6c6307..030b10ca1 100644 --- a/.github/workflows/build-linux.yml +++ b/.github/workflows/build-linux.yml @@ -19,6 +19,8 @@ on: pull_request: paths: *workflow_paths + workflow_dispatch: + jobs: build-linux: runs-on: ubuntu-latest diff --git a/.github/workflows/clang-format.yml b/.github/workflows/clang-format.yml index 84820ad88..b9e7f8c0b 100644 --- a/.github/workflows/clang-format.yml +++ b/.github/workflows/clang-format.yml @@ -19,6 +19,8 @@ on: pull_request: paths: *workflow_paths + workflow_dispatch: + jobs: clang-format: runs-on: ubuntu-latest