This repository has been archived by the owner on Sep 27, 2024. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 5
/
futhark-ci.dhall
65 lines (58 loc) · 1.74 KB
/
futhark-ci.dhall
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
let haskellCi = ./haskell-ci.dhall
let concatMap =
https://raw.githubusercontent.com/dhall-lang/dhall-lang/9f259cd68870b912fbf2f2a08cd63dc3ccba9dc3/Prelude/Text/concatMap sha256:7a0b0b99643de69d6f94ba49441cd0fa0507cbdfa8ace0295f16097af37e226f
let futharkInstall =
haskellCi.BuildStep.Name
{ name = "Install Futhark"
, run =
''
cabal update
cd "$(mktemp -d /tmp/futhark-XXX)"
cabal install futhark --constraint='megaparsec < 8.0.0'
''
}
let futharkPkgDeps =
haskellCi.BuildStep.Name
{ name = "Install Futhark package dependencies"
, run =
''
futhark pkg sync
''
}
let checkFuthark =
λ(futs : List Text)
→ haskellCi.BuildStep.Name
{ name = "Check Futhark"
, run =
''
export PATH=$HOME/.cabal/bin:$PATH
''
++ concatMap
Text
( λ(d : Text)
→ ''
futhark check ${d}
''
)
futs
}
let futharkSteps =
λ(steps : List haskellCi.BuildStep)
→ haskellCi.ciNoMatrix
( [ haskellCi.checkout
, haskellCi.haskellEnv haskellCi.latestEnv
, haskellCi.cache
, futharkInstall
]
# steps
)
⫽ { name = "Futhark CI" }
let futharkCi =
λ(futs : List Text)
→ futharkSteps [ checkFuthark futs ] : haskellCi.CI.Type
in { CI = haskellCi.CI.Type
, futharkSteps
, checkFuthark
, futharkCi
, futharkPkgDeps
}