@@ -0,0 +1,36 @@
1+name: Haskell CI
2+
3+on:
4+ push:
5+ branches: [ "master" ]
6+ pull_request:
7+ branches: [ "master" ]
8+
9+permissions:
10+ contents: read
11+
12+jobs:
13+ build:
14+
15+ runs-on: ubuntu-latest
16+
17+ steps:
18+ - uses: actions/checkout@v3
19+
20+ - name: Cache
21+ uses: actions/cache@v3
22+ env:
23+ cache-name: cache-cabal
24+ with:
25+ path: ~/.stack
26+ key: ${{ runner.os }}-build-${{ env.cache-name }}-${{ hashFiles('**/*.cabal') }}-${{ hashFiles('**/stack.yaml') }}
27+ restore-keys: |
28+ ${{ runner.os }}-build-${{ env.cache-name }}-
29+ ${{ runner.os }}-build-
30+ ${{ runner.os }}-
31+
32+ - name: Build
33+ run: stack build --test --no-run-tests
34+
35+ - name: Run tests
36+ run: stack test