-
Notifications
You must be signed in to change notification settings - Fork 82
97 lines (94 loc) · 2.42 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
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
name: ci
on:
push: {}
pull_request: {}
workflow_dispatch: {}
jobs:
build:
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest, macOS-latest]
ghc: ['9.8.2', '9.6.4', '9.4.8']
steps:
- uses: actions/checkout@v4
- name: "MacOS: install autoconf"
if: runner.os == 'macOS'
run: |
brew install autoconf
- uses: haskell-actions/setup@v2
id: setup-haskell-cabal
with:
ghc-version: ${{ matrix.ghc }}
- uses: actions/cache@v4
name: Cache cabal stuff
with:
path: |
${{ steps.setup-haskell-cabal.outputs.cabal-store }}
dist-newstyle
key: ${{ runner.os }}-${{ matrix.ghc }}
- name: Build
run: |
autoreconf -i
cabal update
cabal v1-install --only-dependencies --enable-tests
cabal v1-configure --enable-tests
cabal v1-test
- name: Haddock
run: cabal v1-haddock
build-win:
runs-on: windows-latest
defaults:
run:
shell: msys2 {0}
strategy:
fail-fast: false
matrix:
ghc: ['9.8.2', '9.6.4', '9.4.8']
steps:
- uses: actions/checkout@v4
- uses: haskell-actions/setup@v2
id: setup-haskell-cabal
with:
ghc-version: ${{ matrix.ghc }}
- uses: actions/cache@v4
name: Cache cabal stuff
with:
path: |
${{ steps.setup-haskell-cabal.outputs.cabal-store }}
dist-newstyle
key: ${{ runner.os }}-${{ matrix.ghc }}
- uses: msys2/setup-msys2@v2
with:
msystem: MINGW64
update: true
path-type: inherit
install: autoconf
- name: Build
run: |
autoreconf -i
cabal update
cabal v1-install --only-dependencies --enable-tests
cabal v1-configure --enable-tests
cabal v1-test
- name: Haddock
run: cabal v1-haddock
build-freebsd:
# See https://github.com/marketplace/actions/freebsd-vm.
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Build
id: build-freebsd
uses: vmactions/freebsd-vm@v1
with:
usesh: true
mem: 4096
prepare: pkg install -y ghc hs-cabal-install git autoconf
run: |
autoreconf -i
cabal update
cabal v1-install --only-dependencies --enable-tests
cabal v1-configure --enable-tests
cabal v1-test