From 0e9559f37531273b3310d70490bc1daa75aba4fb Mon Sep 17 00:00:00 2001 From: Jason Hall Date: Sat, 2 May 2026 14:27:42 -0400 Subject: [PATCH] CI: drop .embuild cache (corruption across runners), pass --target on publisher Co-Authored-By: Claude Opus 4.7 (1M context) --- .github/workflows/ci.yml | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 6f3a897..bb3e8a3 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -43,13 +43,11 @@ jobs: buildtargets: esp32 ldproxy: true - - name: Cache .embuild (ESP-IDF + tools) - uses: actions/cache@v5 - with: - path: .embuild - key: embuild-v5.2.2-${{ runner.os }}-${{ hashFiles('Cargo.toml', 'rust-toolchain.toml', '.cargo/config.toml') }} - restore-keys: | - embuild-v5.2.2-${{ runner.os }}- + # Intentionally not caching .embuild here. Sharing the cache + # with publish.yml led to "too many levels of symbolic links" + # in the IDF venv (absolute symlinks baked in by one runner + # don't resolve cleanly on another). CI gets a slower cold + # build each time; the trade-off is reproducibility. - name: Cache cargo build uses: Swatinem/rust-cache@v2 @@ -83,4 +81,7 @@ jobs: shared-key: ci-publisher - name: Build publisher - run: cd tools/publisher && cargo build --release + # Explicit --target overrides the parent .cargo/config.toml's + # `target = "xtensa-esp32-espidf"`. Hardcoded triple is fine + # because we control the runner (ubuntu-latest = x86_64-linux). + run: cd tools/publisher && cargo build --release --target x86_64-unknown-linux-gnu