Merge 3b3fb4156119fdb99744fe6a9b091faa8838524d into 638ed79f9dc94c1de1baef91bcab5edaa19451f4

This commit is contained in:
Antoine Toulme 2025-08-11 11:29:38 -07:00 committed by GitHub
commit 584374f0b1
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -287,3 +287,26 @@ steps:
- name: Publish package to public - name: Publish package to public
run: ./publish.sh run: ./publish.sh
``` ```
### Saving cache only if the build runs on the default branch
Workflow runs can restore caches created in either the current branch or the default branch (usually `main`) [Reference](https://docs.github.com/en/actions/reference/workflows-and-actions/dependency-caching#restrictions-for-accessing-a-cache).
By restricting caches to the default branch, we can reduce the risk that Github evicts a cache created on the default branch. If that happens, every PR will create its own cache, increasing the cache churn.
We can condition the execution of the `actions/cache/save` action on the current branch:
```yaml
steps:
- uses: actions/checkout@v3
.
. // restore if need be
.
- name: Build
run: /build.sh
- uses: actions/cache/save@v3
if: ${{ github.ref == 'refs/heads/main' }} // check we are on the default branch
with:
path: path/to/dependencies
key: ${{ runner.os }}-${{ hashFiles('**/lockfiles') }}
```