mirror of
https://github.com/actions/cache.git
synced 2026-01-14 01:23:08 +08:00
Compare commits
3 Commits
66467787ce
...
09a81df2fc
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
09a81df2fc | ||
|
|
53aa38c736 | ||
|
|
75e8752022 |
@ -102,7 +102,7 @@ The [GitHub Context](https://docs.github.com/en/actions/learn-github-actions/con
|
|||||||
|
|
||||||
While setting paths for caching dependencies it is important to give correct path depending on the hosted runner you are using or whether the action is running in a container job. Assigning different `path` for save and restore will result in cache miss.
|
While setting paths for caching dependencies it is important to give correct path depending on the hosted runner you are using or whether the action is running in a container job. Assigning different `path` for save and restore will result in cache miss.
|
||||||
|
|
||||||
Below are GiHub hosted runner specific paths one should take care of when writing a workflow which saves/restores caches across OS.
|
Below are GitHub hosted runner specific paths one should take care of when writing a workflow which saves/restores caches across OS.
|
||||||
|
|
||||||
#### Ubuntu Paths
|
#### Ubuntu Paths
|
||||||
|
|
||||||
|
|||||||
69
examples.md
69
examples.md
@ -621,6 +621,75 @@ whenever possible:
|
|||||||
key: ${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.lock') }}
|
key: ${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.lock') }}
|
||||||
```
|
```
|
||||||
|
|
||||||
|
### Multiple OS with a build matrix
|
||||||
|
|
||||||
|
```yml
|
||||||
|
name: CI
|
||||||
|
on: [push, pull_request]
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
tests:
|
||||||
|
name: Test ${{ matrix.os }}
|
||||||
|
runs-on: ${{ matrix.os }}
|
||||||
|
strategy:
|
||||||
|
matrix:
|
||||||
|
os: [ubuntu-latest, macos-latest, windows-latest]
|
||||||
|
include:
|
||||||
|
- os: ubuntu-latest
|
||||||
|
SEP: /
|
||||||
|
PIP_WHEELS_DIR: ~/.cache/pip
|
||||||
|
CARGO_INDEX_DIR: ~/.cargo/git
|
||||||
|
CARGO_REGISTRY_DIR: ~/.cargo/registry
|
||||||
|
|
||||||
|
- os: macos-latest
|
||||||
|
SEP: /
|
||||||
|
PIP_WHEELS_DIR: ~/Library/Caches/pip
|
||||||
|
CARGO_INDEX_DIR: ~/.cargo/git
|
||||||
|
CARGO_REGISTRY_DIR: ~/.cargo/registry
|
||||||
|
|
||||||
|
- os: windows-latest
|
||||||
|
SEP: \
|
||||||
|
PIP_WHEELS_DIR: ~\AppData\Local\pip\Cache
|
||||||
|
CARGO_INDEX_DIR: C:\Rust\.cargo\git
|
||||||
|
CARGO_REGISTRY_DIR: C:\Rust\.cargo\registry
|
||||||
|
|
||||||
|
# Keep running all matrices if something fail
|
||||||
|
fail-fast: false
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- name: Cache pip wheels
|
||||||
|
uses: actions/cache@v1
|
||||||
|
with:
|
||||||
|
path: ${{ matrix.PIP_WHEELS_DIR }}
|
||||||
|
key: ${{ runner.os }}-pip-wheels-${{ hashFiles('**/requirements.txt') }}-${{ hashFiles('**/setup.py') }}-14-
|
||||||
|
|
||||||
|
- name: Cache cargo index
|
||||||
|
uses: actions/cache@v1
|
||||||
|
with:
|
||||||
|
path: ${{ matrix.CARGO_INDEX_DIR }}
|
||||||
|
key: ${{ runner.os }}-cargo-index-${{ hashFiles('**/Cargo.toml') }}-14-
|
||||||
|
|
||||||
|
- name: Cache cargo registry
|
||||||
|
uses: actions/cache@v1
|
||||||
|
with:
|
||||||
|
path: ${{ matrix.CARGO_REGISTRY_DIR }}
|
||||||
|
key: ${{ runner.os }}-cargo-registry-${{ hashFiles('**/Cargo.toml') }}-14-
|
||||||
|
|
||||||
|
- name: Cache cargo target
|
||||||
|
uses: actions/cache@v1
|
||||||
|
with:
|
||||||
|
path: ${{ github.workspace }}${{ matrix.SEP }}target
|
||||||
|
key: ${{ runner.os }}-cargo-target-${{ hashFiles('**/Cargo.toml') }}-14-
|
||||||
|
|
||||||
|
- name: Run on Windows
|
||||||
|
if: matrix.os == 'windows-latest'
|
||||||
|
run: echo Windows
|
||||||
|
|
||||||
|
- name: Run on Linux
|
||||||
|
if: matrix.os == 'ubuntu-latest'
|
||||||
|
run: echo Linux
|
||||||
|
```
|
||||||
|
|
||||||
## Scala - SBT
|
## Scala - SBT
|
||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user