Just for the common cases. This also documents templates that can be modified for the more unique scenarios.
hindent also uses 4 caches:
- 2 caches for Cabal: hindent/.github/workflows/presubmit-cabal.yaml at 0d2bd1ffa083bb2315401ac229b5feae38a34daa · mihaimaruseac/hindent · GitHub
- name: Cache dist-newstyle
uses: actions/cache@0c45773b623bea8c8e75f6c82b208c3cf94ea4f9 # v4.0.2
with:
path: dist-newstyle
key: dist-newstyle-${{ matrix.os }}-${{ matrix.ghc }}-${{ hashFiles('**/*.cabal') }}-${{ hashFiles('internal/**','src/**','app/**','tests/**','benchmarks/**') }}
restore-keys: |
dist-newstyle-${{ matrix.os }}-${{ matrix.ghc }}-${{ hashFiles('**/*.cabal') }}-
dist-newstyle-${{ matrix.os }}-${{ matrix.ghc }}-
- name: Cache ~/.cabal/store
uses: actions/cache@0c45773b623bea8c8e75f6c82b208c3cf94ea4f9 # v4.0.2
with:
path: ${{ steps.setup-haskell.outputs.cabal-store }}
key: cabal-store-${{ matrix.os }}-${{ matrix.ghc }}-${{ hashFiles('**/*.cabal') }}
restore-keys: cabal-store-${{ matrix.os }}-${{ matrix.ghc }}-
- 2 caches for Stack: hindent/.github/workflows/presubmit-stack.yaml at 0d2bd1ffa083bb2315401ac229b5feae38a34daa · mihaimaruseac/hindent · GitHub
- name: Cache .stack-work
uses: actions/cache@0c45773b623bea8c8e75f6c82b208c3cf94ea4f9 # v4.0.2
with:
path: .stack-work
key: stack-work-${{ matrix.os }}-${{ matrix.resolver }}-${{ hashFiles('stack.yaml', '**/*.cabal') }}-${{ hashFiles('internal/**','src/**','app/**','tests/**','benchmarks/**') }}
restore-keys: |
stack-work-${{ matrix.os }}-${{ matrix.resolver }}-${{ hashFiles('stack.yaml', '**/*.cabal') }}-
stack-work-${{ matrix.os }}-${{ matrix.resolver }}-
- name: Cache ~/.stack
uses: actions/cache@0c45773b623bea8c8e75f6c82b208c3cf94ea4f9 # v4.0.2
with:
path: ${{ steps.setup-haskell.outputs.stack-root }}
key: stack-root-${{ matrix.os }}-${{ matrix.resolver }}-${{ hashFiles('stack.yaml', '**/*.cabal') }}
restore-keys: stack-root-${{ matrix.os }}-${{ matrix.resolver }}-
1 Like