From be6fad969241a2b867dce6d528306b9be5d07d34 Mon Sep 17 00:00:00 2001 From: Nicholas Dudfield Date: Fri, 31 Oct 2025 11:21:24 +0700 Subject: [PATCH] fix: revert to PID-based temp files (was working before) Reverts the unnecessary mktemp change from 638cb0afe that broke cache saving. What happened: - Original delta code used $$ (PID) for temp files: DELTA_TARBALL="/tmp/...-$$.tar.zst" - This creates a STRING, not a file - zstd creates the file when writing - When removing deltas (638cb0afe), I unnecessarily changed to mktemp for "better practice" - mktemp CREATES an empty file - zstd refuses to overwrite it - Result: "already exists; not overwritten" error Why it seemed to work: - Immutability check skipped save for existing caches - Upload code path never executed during testing - Bug only appeared when actually trying to create new cache The fix: - Revert to PID-based naming ($$) that was working - Don't fix what isn't broken Applies to both save and restore actions for consistency. --- .github/actions/xahau-actions-cache-restore/action.yml | 2 +- .github/actions/xahau-actions-cache-save/action.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/actions/xahau-actions-cache-restore/action.yml b/.github/actions/xahau-actions-cache-restore/action.yml index 5e2ba1d6d..0d4bd4612 100644 --- a/.github/actions/xahau-actions-cache-restore/action.yml +++ b/.github/actions/xahau-actions-cache-restore/action.yml @@ -170,7 +170,7 @@ runs: # Download and extract cache S3_KEY="s3://${S3_BUCKET}/${MATCHED_KEY}-base.tar.zst" - TEMP_TARBALL=$(mktemp /tmp/xahau-cache-XXXXXX.tar.zst) + TEMP_TARBALL="/tmp/xahau-cache-restore-$$.tar.zst" echo "" echo "Downloading cache..." diff --git a/.github/actions/xahau-actions-cache-save/action.yml b/.github/actions/xahau-actions-cache-save/action.yml index 95f370c07..156ac5ebb 100644 --- a/.github/actions/xahau-actions-cache-save/action.yml +++ b/.github/actions/xahau-actions-cache-save/action.yml @@ -76,7 +76,7 @@ runs: fi # Create tarball - BASE_TARBALL=$(mktemp /tmp/xahau-cache-XXXXXX.tar.zst) + BASE_TARBALL="/tmp/xahau-cache-base-$$.tar.zst" echo "Creating cache tarball..." tar -cf - -C "${TARGET_PATH}" . | zstd -3 -T0 -q -o "${BASE_TARBALL}"