forked from DanielG/ghc-mod
-
Notifications
You must be signed in to change notification settings - Fork 9
/
Copy path.gitlab-ci.yml
74 lines (65 loc) · 1.91 KB
/
.gitlab-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
stages:
- build
.before_script_template: &common_before_script
before_script:
- ls -l ..
- apt-get update && apt-get install alex happy
- mkdir -p ../ghc-mod.sdist-$CI_PIPELINE_ID
- touch ChangeLog
- cabal update
- cabal sdist --output-directory=../ghc-mod.sdist-$CI_PIPELINE_ID
- cd ../ghc-mod.sdist-$CI_PIPELINE_ID
after_script:
- cd "$CI_PROJECT_DIR"
- ghc-pkg list | tee packages.list
- rm -rf "$CI_PROJECT_DIR"/../ghc-mod.sdist-$CI_PIPELINE_ID
.script_template: &common_script
script:
- echo $PWD
- ghc-pkg list
- cabal install --user --only-dependencies -j2 --force-reinstalls --upgrade-dependencies --enable-tests --enable-documentation
- which cabal
- cabal --version
- cabal configure --enable-tests
- cabal build -j2
- which cabal
- cabal --version
- ./dist/build/spec/spec
- ./dist/build/doctest/doctest
- cabal haddock
.artifacts_template: &common_artifacts
artifacts:
paths:
- packages.list
- ~/.cabal/logs
when: always
job-ghc800:
image: registry.gitlab.com/dxld/ghc-mod:ghc8.0.2-cabal-install1.24.0.2
stage: build
<<: *common_before_script
<<: *common_script
<<: *common_artifacts
job-ghc710:
image: registry.gitlab.com/dxld/ghc-mod:ghc7.10.3-cabal-install1.22.8.0
stage: build
<<: *common_before_script
<<: *common_script
<<: *common_artifacts
job-ghc708:
image: registry.gitlab.com/dxld/ghc-mod:ghc7.8.4-cabal-install1.18.1.0
stage: build
<<: *common_before_script
<<: *common_script
<<: *common_artifacts
job-ghc706:
image: registry.gitlab.com/dxld/ghc-mod:ghc7.6.3-cabal-install1.18.1.0
stage: build
before_script:
- cabal update
- cabal install alex
- cabal install happy
- cp ~/.cabal/bin/{alex,happy} /usr/local/bin
- rm -rf ~/.cabal/{bin,lib,libexec,setup-exe-cache,share,store} ~/.ghc
allow_failure: true
<<: *common_script
<<: *common_artifacts