ci: Only save caches on main and release branches
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.
This commit is contained in:
committed by
Wolfgang Walther
parent
7e61c9deb0
commit
c4b0bd347b
@@ -0,0 +1,31 @@
|
||||
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 }}-
|
||||
@@ -115,12 +115,11 @@ jobs:
|
||||
steps:
|
||||
- uses: actions/checkout@a5ac7e51b41094c92402da3b24376905380afc29 # v4.1.6
|
||||
- name: Stack working files cache
|
||||
uses: actions/cache@0c45773b623bea8c8e75f6c82b208c3cf94ea4f9 # v4.0.2
|
||||
uses: ./.github/actions/cache-on-main
|
||||
with:
|
||||
path: ${{ matrix.cache }}
|
||||
key: stack-${{ runner.os }}-${{ hashFiles('stack.yaml.lock') }}
|
||||
restore-keys: |
|
||||
stack-${{ runner.os }}-
|
||||
prefix: stack
|
||||
suffix: ${{ hashFiles('stack.yaml.lock') }}
|
||||
- name: Install dependencies
|
||||
if: matrix.deps
|
||||
run: ${{ matrix.deps }}
|
||||
@@ -171,15 +170,14 @@ jobs:
|
||||
run: |
|
||||
mkdir ~/.cabal
|
||||
- name: Cache
|
||||
uses: actions/cache@0c45773b623bea8c8e75f6c82b208c3cf94ea4f9 # v4.0.2
|
||||
uses: ./.github/actions/cache-on-main
|
||||
with:
|
||||
path: |
|
||||
~/.cabal/packages
|
||||
~/.cabal/store
|
||||
dist-newstyle
|
||||
key: cabal-${{ runner.os }}-${{ matrix.ghc }}-${{ hashFiles('postgrest.cabal', 'cabal.project', 'cabal.project.freeze') }}
|
||||
restore-keys: |
|
||||
cabal-${{ runner.os }}-${{ matrix.ghc }}-
|
||||
prefix: cabal-${{ matrix.ghc }}
|
||||
suffix: ${{ hashFiles('postgrest.cabal', 'cabal.project', 'cabal.project.freeze') }}
|
||||
- name: Install dependencies
|
||||
run: |
|
||||
cabal update
|
||||
|
||||
Reference in New Issue
Block a user