mirror of
https://github.com/actions/cache.git
synced 2026-03-01 08:11:03 +08:00
Compare commits
4 Commits
98eec3aa50
...
0a6e397f3f
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
0a6e397f3f | ||
|
|
5656298164 | ||
|
|
4e380d19e1 | ||
|
|
3b3fb41561 |
@ -287,3 +287,26 @@ steps:
|
||||
- name: Publish package to public
|
||||
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') }}
|
||||
```
|
||||
@ -49,7 +49,7 @@
|
||||
with:
|
||||
path: |
|
||||
~/.bun/install/cache
|
||||
key: ${{ runner.os }}-bun-${{ hashFiles('**/bun.lockb') }}
|
||||
key: ${{ runner.os }}-bun-${{ hashFiles('**/bun.lock') }}
|
||||
```
|
||||
|
||||
### Windows
|
||||
@ -59,7 +59,7 @@
|
||||
with:
|
||||
path: |
|
||||
~\.bun
|
||||
key: ${{ runner.os }}-bun-${{ hashFiles('**/bun.lockb') }}
|
||||
key: ${{ runner.os }}-bun-${{ hashFiles('**/bun.lock') }}
|
||||
```
|
||||
|
||||
## C# - NuGet
|
||||
|
||||
Loading…
Reference in New Issue
Block a user