This restores caches on all branches and pull requests, but only stores them on the main branch and release branches. This prevents those caches from being evicted early when we hit the 10 GB limit quickly.
32 lines
1.0 KiB
YAML
32 lines
1.0 KiB
YAML
name: Cache on main
|
|
|
|
description: Stores caches on main only, but restores them on all branches.
|
|
|
|
inputs:
|
|
path:
|
|
description: Path(s) to cache
|
|
required: true
|
|
prefix:
|
|
description: Cache key prefix to be used in both primary key and restore-keys.
|
|
required: true
|
|
suffix:
|
|
description: Cache key suffix to be used only in primary key.
|
|
|
|
runs:
|
|
using: composite
|
|
steps:
|
|
- uses: actions/cache@0c45773b623bea8c8e75f6c82b208c3cf94ea4f9 # v4.0.2
|
|
if: ${{ startsWith(github.ref, 'refs/heads/') }}
|
|
with:
|
|
path: ${{ inputs.path }}
|
|
key: ${{ runner.os }}-${{ inputs.prefix }}-${{ inputs.suffix }}
|
|
restore-keys: |
|
|
${{ runner.os }}-${{ inputs.prefix }}-
|
|
- uses: actions/cache/restore@0c45773b623bea8c8e75f6c82b208c3cf94ea4f9 # v4.0.2
|
|
if: ${{ !startsWith(github.ref, 'refs/heads/') }}
|
|
with:
|
|
path: ${{ inputs.path }}
|
|
key: ${{ runner.os }}-${{ inputs.prefix }}-${{ inputs.suffix }}
|
|
restore-keys: |
|
|
${{ runner.os }}-${{ inputs.prefix }}-
|