-
Notifications
You must be signed in to change notification settings - Fork 26
62 lines (53 loc) · 1.95 KB
/
repo-ghc-8.6-cabal-2.4.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
name: install-hackage-ghc-8.6-cabal-2.4
# Trigger the workflow on push or pull request
on:
- pull_request
- push
jobs:
cabal:
name: ${{ matrix.os }} / ghc ${{ matrix.ghc }}
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [ubuntu-latest]
cabal: ["2.4"]
ghc:
- "8.6"
steps:
- uses: haskell-actions/setup@main
id: setup-haskell-cabal
name: Setup Haskell
with:
ghc-version: ${{ matrix.ghc }}
cabal-version: ${{ matrix.cabal }}
- name: Prepare environment
run: |
echo "$HOME/.ghcup/bin" >> $GITHUB_PATH
echo "$HOME/.cabal/bin" >> $GITHUB_PATH
- uses: actions/checkout@v4
- name: Create sandbox
run: |
echo "$PWD/.cabal-sandbox/bin" >> $GITHUB_PATH
cabal v1-sandbox init
- name: Install dependencies
run: |
cabal v1-install alex happy
- name: Install ogma
run: |
# Some tests need the ogma executable to be in the path, which won't
# happen until installation completes successfully (which only happens
# after tests if running tests is enabled). We therefore need to run
# the installation twice: once without --run-tests, and again with
# --run-tests.
#
# We still --enable-tests in the first compilation to make sure that
# the dependencies do not change and cabal does not change the
# installation plan (which would mean we'd be running the tests with a
# version of ogma compiled with different dependencies).
cabal v1-install ogma-**/ --enable-tests --constraint="aeson >= 2.0.3.0"
- name: Test all packages
run: |
# We want to document the build process, and get detailed information
# if there is a problem (or if all goes well). We therefore execute the
# installation with -j1.
cabal v1-install ogma-**/ --enable-tests --run-tests -j1 --constraint="aeson >= 2.0.3.0"