mirror of
https://github.com/actions/cache.git
synced 2026-01-13 17:13:06 +08:00
Compare commits
3 Commits
1785acac85
...
32a885344d
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
32a885344d | ||
|
|
36f1e144e1 | ||
|
|
028d01341f |
33
examples.md
33
examples.md
@ -40,6 +40,7 @@
|
||||
- [Swift, Objective-C - CocoaPods](#swift-objective-c---cocoapods)
|
||||
- [Swift - Swift Package Manager](#swift---swift-package-manager)
|
||||
- [Swift - Mint](#swift---mint)
|
||||
- [* - ASDF](#---asdf)
|
||||
- [* - Bazel](#---bazel)
|
||||
|
||||
## Bun
|
||||
@ -681,6 +682,38 @@ steps:
|
||||
${{ runner.os }}-mint-
|
||||
```
|
||||
|
||||
## * - ASDF
|
||||
|
||||
[ASDF](https://asdf-vm.com), see [#235](https://github.com/asdf-vm/actions/issues/235):
|
||||
|
||||
```yaml
|
||||
- name: Setup ASDF itself
|
||||
uses: asdf-vm/actions/setup@v3
|
||||
|
||||
- name: Cache ASDF
|
||||
uses: actions/cache@v4
|
||||
id: asdf-cache
|
||||
with:
|
||||
# https://github.com/asdf-vm/asdf/blob/master/.gitignore
|
||||
path: |
|
||||
~/.asdf/installs
|
||||
~/.asdf/plugins
|
||||
~/.asdf/shims
|
||||
key: ${{ runner.os }}-asdf-tools-${{ hashFiles('.tool-versions') }}
|
||||
restore-keys: ${{ runner.os }}-asdf-tools-
|
||||
|
||||
- name: Install ASDF plugins
|
||||
uses: asdf-vm/actions/install@v3
|
||||
# See https://github.com/asdf-vm/actions/issues/445
|
||||
if: ${{ steps.asdf-cache.outputs.cache-hit != 'true' }}
|
||||
with:
|
||||
asdf_branch: v0.14.0
|
||||
|
||||
- name: Reshim installed ASDF tools
|
||||
shell: bash
|
||||
run: asdf reshim
|
||||
```
|
||||
|
||||
## * - Bazel
|
||||
|
||||
[`bazelisk`](https://github.com/bazelbuild/bazelisk) does not have be to separately downloaded and installed because it's already included in GitHub's `ubuntu-latest` and `macos-latest` base images.
|
||||
|
||||
@ -79,8 +79,10 @@ To avoid saving a cache that already exists, the `cache-hit` output from a resto
|
||||
The `cache-primary-key` output from the restore step should also be used to ensure
|
||||
the cache key does not change during the build if it's calculated based on file contents.
|
||||
|
||||
Here's an example where we imagine we're calculating a lot of prime numbers and want to cache them:
|
||||
|
||||
```yaml
|
||||
name: Always Caching Primes
|
||||
name: Always Caching Prime Numbers
|
||||
|
||||
on: push
|
||||
|
||||
@ -91,23 +93,23 @@ jobs:
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
|
||||
- name: Restore cached Primes
|
||||
id: cache-primes-restore
|
||||
- name: Restore cached Prime Numbers
|
||||
id: cache-prime-numbers-restore
|
||||
uses: actions/cache/restore@v4
|
||||
with:
|
||||
key: ${{ runner.os }}-primes
|
||||
key: ${{ runner.os }}-prime-numbers
|
||||
path: |
|
||||
path/to/dependencies
|
||||
some/other/dependencies
|
||||
|
||||
# Intermediate workflow steps
|
||||
|
||||
- name: Always Save Primes
|
||||
id: cache-primes-save
|
||||
if: always() && steps.cache-primes-restore.outputs.cache-hit != 'true'
|
||||
- name: Always Save Prime Numbers
|
||||
id: cache-prime-numbers-save
|
||||
if: always() && steps.cache-prime-numbers-restore.outputs.cache-hit != 'true'
|
||||
uses: actions/cache/save@v4
|
||||
with:
|
||||
key: ${{ steps.cache-primes-restore.outputs.cache-primary-key }}
|
||||
key: ${{ steps.cache-prime-numbers-restore.outputs.cache-primary-key }}
|
||||
path: |
|
||||
path/to/dependencies
|
||||
some/other/dependencies
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user