-
Notifications
You must be signed in to change notification settings - Fork 1
50 lines (50 loc) · 1.45 KB
/
ci.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
name: CI
on: [push, pull_request, workflow_dispatch]
jobs:
build:
runs-on: ubuntu-latest
continue-on-error: ${{ matrix.version.ghc == 'latest' }}
strategy:
matrix:
version:
- { ghc: '8.8.1' , cabal: '3.0' } # focal (cabal 2.4 says ghc < 8.7)
- { ghc: '8.8.4' , cabal: '3.0' } # bullseye & jammy
- { ghc: '9.0.2' , cabal: '3.4.1.0' } # bookworm
- { ghc: '9.4.7' , cabal: '3.8.1.0' } # noble & sid
- { ghc: latest , cabal: latest }
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
persist-credentials: false
submodules: true
- name: Set up GHC ${{ matrix.version.ghc }}
uses: haskell-actions/setup@v2
with:
ghc-version: ${{ matrix.version.ghc }}
cabal-version: ${{ matrix.version.cabal }}
- name: Cache
uses: actions/cache@v4
with:
path: |
~/.cabal
~/.ghc
key: ${{ runner.os }}-${{ matrix.version.ghc }}-${{ hashFiles('koneko.cabal') }}
restore-keys: |
${{ runner.os }}-${{ matrix.version.ghc }}-${{ hashFiles('koneko.cabal') }}
${{ runner.os }}-${{ matrix.version.ghc }}-
${{ runner.os }}-
- name: Setup
run: |
(
set -xe
cabal v2-update
)
- name: Test
run: |
(
set -xe
node --version
make cabal_build
make test
)