Skip to content

Commit d2e7599

Browse files
ethercrowBodigrim
authored andcommitted
Add Windows, macOS and FreeBSD CI
1 parent c98b879 commit d2e7599

File tree

3 files changed

+75
-0
lines changed

3 files changed

+75
-0
lines changed

.github/dependabot.yml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
version: 2
2+
updates:
3+
- package-ecosystem: "github-actions"
4+
directory: "/"
5+
schedule:
6+
interval: "daily"

.github/workflows/freebsd.yml

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
name: freebsd-ci
2+
on:
3+
push:
4+
branches:
5+
- master
6+
pull_request: {}
7+
8+
defaults:
9+
run:
10+
shell: bash
11+
12+
jobs:
13+
build:
14+
# This job intentionally is using macOS because at the time of the writing
15+
# Linux and Windows environments don't have the necessary virtualization features.
16+
# See https://github.com/vmactions/freebsd-vm#under-the-hood.
17+
runs-on: macos-latest
18+
steps:
19+
- uses: actions/checkout@v2
20+
- name: Test
21+
id: build-freebsd
22+
uses: vmactions/[email protected]
23+
with:
24+
usesh: true
25+
mem: 4096
26+
prepare: pkg install -y ghc hs-cabal-install git
27+
# Virtual machine does not allow to leverage cache
28+
# and is quite slow, so only tests are run.
29+
run: |
30+
cabal update
31+
cabal test --test-show-details=direct
Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
name: win-mac-ci
2+
on:
3+
push:
4+
branches:
5+
- master
6+
pull_request: {}
7+
8+
defaults:
9+
run:
10+
shell: bash
11+
12+
jobs:
13+
build:
14+
runs-on: ${{ matrix.os }}
15+
strategy:
16+
matrix:
17+
os: ['windows-latest', 'macOS-latest']
18+
ghc: ['9.0']
19+
fail-fast: false
20+
steps:
21+
- uses: actions/checkout@v2
22+
- uses: haskell/actions/setup@v1
23+
id: setup-haskell-cabal
24+
with:
25+
ghc-version: ${{ matrix.ghc }}
26+
- name: Update cabal package database
27+
run: cabal update
28+
- uses: actions/[email protected]
29+
name: Cache cabal stuff
30+
with:
31+
path: ${{ steps.setup-haskell-cabal.outputs.cabal-store }}
32+
key: ${{ runner.os }}-${{ matrix.ghc }}
33+
- name: Test
34+
run: cabal test
35+
- name: Haddock
36+
run: cabal haddock
37+
- name: SDist
38+
run: cabal sdist

0 commit comments

Comments
 (0)