diff --git a/.github/workflows/cache-probe.yml b/.github/workflows/cache-probe.yml index 40196616f..49b45bc60 100644 --- a/.github/workflows/cache-probe.yml +++ b/.github/workflows/cache-probe.yml @@ -43,6 +43,17 @@ jobs: - name: Install dotslash uses: facebook/install-dotslash@v2 + # The buck2 binary itself, not build artifacts: this job deliberately + # clears buck-out and rebuilds cold, but re-downloading buck2 from the + # releases CDN is a network dependency the probe does not exist to test. + - name: Cache dotslash artifacts + uses: actions/cache@v5 + with: + path: ~/.cache/dotslash + key: dotslash-linux-x64-${{ hashFiles('buck2') }} + restore-keys: | + dotslash-linux-x64- + - name: Guard — secret present env: KEY: ${{ secrets.BUILDBUDDY_API_KEY }} diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 2134d63ac..7dc2e6bfd 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -33,6 +33,18 @@ jobs: - name: Install dotslash uses: facebook/install-dotslash@v2 # pinned: the moving `latest` branch broke macOS runners (sha256sum flags) on 2026-06-18 + # Cache the dotslash-downloaded buck2 binary (see the `test` job for the + # rationale on which paths are worth caching). + - name: Cache dotslash artifacts + uses: actions/cache@v5 + with: + path: | + ~/.cache/dotslash + ~/Library/Caches/dotslash + key: dotslash-linux-x64-${{ hashFiles('buck2') }} + restore-keys: | + dotslash-linux-x64- + - name: Check formatting # Every crate emits its own `-fmt-check` test from the # rue_crate/rue_binary macros (RUE-1153), so coverage follows the @@ -148,6 +160,18 @@ jobs: - name: Install dotslash uses: facebook/install-dotslash@v2 + # Cache the dotslash-downloaded buck2 binary (see the `test` job for the + # rationale on which paths are worth caching). + - name: Cache dotslash artifacts + uses: actions/cache@v5 + with: + path: | + ~/.cache/dotslash + ~/Library/Caches/dotslash + key: dotslash-linux-x64-${{ hashFiles('buck2') }} + restore-keys: | + dotslash-linux-x64- + - name: Require and provision remote execution env: BUILDBUDDY_API_KEY: ${{ secrets.BUILDBUDDY_API_KEY }}