-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy path.gitlab-ci.dhall
59 lines (51 loc) · 1.87 KB
/
.gitlab-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
let tags = [ "nix", "kvm" ]
let baseJob =
λ(stage : Text)
→ λ(script : Text)
→ { stage = stage, tags = tags, script = script }
let mkJob =
λ(stage : Text)
→ λ(target : Text)
→ baseJob stage ("nix-shell -p gnumake --run 'make " ++ target ++ "'")
let mkNix =
λ(stage : Text)
→ λ(target : Text)
→ baseJob "build" ("nix-build -A " ++ target ++ " --no-build-output")
let mkS = mkJob "source"
let mkB = mkJob "build"
let mkT = mkJob "test"
let mkNixB = mkNix "build"
in { stages = [ "source", "build", "test", "deploy" ]
, nix/hsnrm-bin = mkNixB "haskellPackages.hsnrm-bin"
, nix/hsnrm = mkNixB "haskellPackages.hsnrm"
, nix/pynrm = mkNixB "pythonPackages.pynrm"
, nix/libnrm = mkNixB "libnrm"
, nix/stream = mkNixB "stream"
, tests/kvm = mkT "tests-kvm"
, tests/pyupstream = mkT "tests-pyupstream"
, tests/apps = mkT "app-tests"
, tests/rapl = mkT "tests-rapl" ⫽ { tags = [ "chimera" ] }
, tests/perf = mkT "tests-perf" ⫽ { tags = [ "chimera" ] }
, examples = mkT "examples"
, libnrm/autotools = mkB "libnrm/autotools"
, hsnrm/all = mkB "hsnrm/all"
, resources = mkS "resources"
, shellcheck = mkS "shellcheck"
, nixfmt = mkS "nixfmt"
, dhall-format = mkS "dhall-format"
, libnrm/clang-format = mkS "libnrm/clang-format"
, pynrm/black = mkS "pynrm/black"
, hsnrm/ormolu = mkS "hsnrm/ormolu"
, hsnrm/hlint = mkS "hsnrm/hlint"
, hsnrm/shellcheck = mkS "hsnrm/shellcheck"
, hsnrm-/dhall-format = mkS "hsnrm/dhall-format"
, readthedocs =
{ stage = "deploy"
, tags = tags
, only = [ "master" ]
, script =
[ "echo \"token=\$RTD_TOKEN\""
, "nix run nixpkgs.curl -c curl --fail -X POST -d \"token=\$RTD_TOKEN\" readthedocs.org/api/v2/webhook/hnrm/104604/"
]
}
}