Compare commits

...

3 Commits

Author SHA1 Message Date
evandrocoan
09a81df2fc
Merge 75e87520221a2cba393bcb57e7246cb99eeb576b into 53aa38c736a561b9c17b62df3fe885a17b78ee6d 2025-01-07 09:38:50 -05:00
janco-absa
53aa38c736
Correct GitHub Spelling in caching-strategies.md (#1526)
Some checks failed
Code scanning - action / CodeQL-Build (push) Has been cancelled
Licensed / Licensed (push) Has been cancelled
Tests / build (macOS-latest) (push) Has been cancelled
Tests / build (ubuntu-latest) (push) Has been cancelled
Tests / build (windows-latest) (push) Has been cancelled
Tests / test-save (macOS-latest) (push) Has been cancelled
Tests / test-save (ubuntu-latest) (push) Has been cancelled
Tests / test-save (windows-latest) (push) Has been cancelled
Tests / test-proxy-save (push) Has been cancelled
Tests / test-restore (macOS-latest) (push) Has been cancelled
Tests / test-restore (ubuntu-latest) (push) Has been cancelled
Tests / test-restore (windows-latest) (push) Has been cancelled
Tests / test-proxy-restore (push) Has been cancelled
GitHub was spelled incorrectly 3 lines under the Understanding how to choose path section
2025-01-06 16:55:00 +00:00
evandrocoan
75e8752022 Multiple OS with a build matrix 2022-11-21 22:20:22 -03:00
2 changed files with 70 additions and 1 deletions

View File

@ -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

View File

@ -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