diff --git a/.github/workflows/build-desktop-dev.yml b/.github/workflows/build-desktop-dev.yml index 517bb161..e973700b 100644 --- a/.github/workflows/build-desktop-dev.yml +++ b/.github/workflows/build-desktop-dev.yml @@ -126,6 +126,7 @@ jobs: - name: Build sidecars working-directory: desktop env: + BUN_INSTALL_CACHE_DIR: ${{ runner.temp }}/bun-install-cache TAURI_ENV_TARGET_TRIPLE: ${{ matrix.rust_target }} run: bun run build:sidecars diff --git a/.github/workflows/release-desktop.yml b/.github/workflows/release-desktop.yml index 74952d01..e10b1ef2 100644 --- a/.github/workflows/release-desktop.yml +++ b/.github/workflows/release-desktop.yml @@ -158,6 +158,7 @@ jobs: - name: Build sidecars working-directory: desktop env: + BUN_INSTALL_CACHE_DIR: ${{ runner.temp }}/bun-install-cache TAURI_ENV_TARGET_TRIPLE: ${{ matrix.rust_target }} run: bun run build:sidecars diff --git a/scripts/pr/release-workflow.test.ts b/scripts/pr/release-workflow.test.ts index 13d848aa..b1a0c0d6 100644 --- a/scripts/pr/release-workflow.test.ts +++ b/scripts/pr/release-workflow.test.ts @@ -10,4 +10,23 @@ describe('release desktop workflow', () => { expect(workflow).not.toContain('needs: quality-preflight') expect(workflow).toContain('name: Build (${{ matrix.label }})') }) + + test('desktop build workflows keep Bun compile cache on the runner work drive', () => { + for (const workflowPath of [ + '.github/workflows/build-desktop-dev.yml', + '.github/workflows/release-desktop.yml', + ]) { + const workflow = readFileSync(workflowPath, 'utf8') + const buildSidecarsStep = workflow.match( + /- name: Build sidecars[\s\S]*?run: bun run build:sidecars/, + )?.[0] + + expect(buildSidecarsStep, workflowPath).toContain( + 'BUN_INSTALL_CACHE_DIR: ${{ runner.temp }}/bun-install-cache', + ) + expect(buildSidecarsStep, workflowPath).toContain( + 'TAURI_ENV_TARGET_TRIPLE: ${{ matrix.rust_target }}', + ) + } + }) })