4
4
#
5
5
# For more information, see https://github.com/haskell-CI/haskell-ci
6
6
#
7
- # version: 0.3.20190521
7
+ # version: 0.9.20200325
8
8
#
9
+ version : ~> 1.0
9
10
language : c
11
+ os : linux
10
12
dist : xenial
11
13
git :
12
14
# whether to recursively clone submodules
15
17
directories :
16
18
- $HOME/.cabal/packages
17
19
- $HOME/.cabal/store
20
+ - $HOME/.hlint
18
21
before_cache :
19
22
- rm -fv $CABALHOME/packages/hackage.haskell.org/build-reports.log
20
23
# remove files that are regenerated by 'cabal update'
@@ -24,69 +27,60 @@ before_cache:
24
27
- rm -fv $CABALHOME/packages/hackage.haskell.org/01-index.tar
25
28
- rm -fv $CABALHOME/packages/hackage.haskell.org/01-index.tar.idx
26
29
- rm -rfv $CABALHOME/packages/head.hackage
27
- matrix :
30
+ jobs :
28
31
include :
29
- - compiler : ghc-8.8.1
30
- addons : {"apt":{"sources":["hvr-ghc"],"packages":["ghc-8.8.1","cabal-install-3.0"]}}
31
- env : GHCHEAD=true
32
+ - compiler : ghc-8.10.1
33
+ addons : {"apt":{"sources":[{"sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu xenial main","key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286"}],"packages":["ghc-8.10.1","cabal-install-3.2"]}}
34
+ os : linux
35
+ - compiler : ghc-8.8.3
36
+ addons : {"apt":{"sources":[{"sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu xenial main","key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286"}],"packages":["ghc-8.8.3","cabal-install-3.0"]}}
37
+ os : linux
32
38
- compiler : ghc-8.6.5
33
- addons : {"apt":{"sources":["hvr-ghc"],"packages":["ghc-8.6.5","cabal-install-2.4"]}}
39
+ addons : {"apt":{"sources":[{"sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu xenial main","key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286"}],"packages":["ghc-8.6.5","cabal-install-3.0"]}}
40
+ os : linux
34
41
- compiler : ghc-8.4.4
35
- addons : {"apt":{"sources":["hvr-ghc"],"packages":["ghc-8.4.4","cabal-install-2.4"]}}
42
+ addons : {"apt":{"sources":[{"sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu xenial main","key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286"}],"packages":["ghc-8.4.4","cabal-install-3.0"]}}
43
+ os : linux
36
44
- compiler : ghc-8.2.2
37
- addons : {"apt":{"sources":["hvr-ghc"],"packages":["ghc-8.2.2","cabal-install-2.4"]}}
45
+ addons : {"apt":{"sources":[{"sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu xenial main","key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286"}],"packages":["ghc-8.2.2","cabal-install-3.0"]}}
46
+ os : linux
38
47
- compiler : ghc-8.0.2
39
- addons : {"apt":{"sources":["hvr-ghc"],"packages":["ghc-8.0.2","cabal-install-2.4"]}}
48
+ addons : {"apt":{"sources":[{"sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu xenial main","key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286"}],"packages":["ghc-8.0.2","cabal-install-3.0"]}}
49
+ os : linux
40
50
- compiler : ghc-7.10.3
41
- addons : {"apt":{"sources":["hvr-ghc"],"packages":["ghc-7.10.3","cabal-install-2.4"]}}
51
+ addons : {"apt":{"sources":[{"sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu xenial main","key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286"}],"packages":["ghc-7.10.3","cabal-install-3.0"]}}
52
+ os : linux
42
53
- compiler : ghc-7.8.4
43
- addons : {"apt":{"sources":["hvr-ghc"],"packages":["ghc-7.8.4","cabal-install-2.4"]}}
54
+ addons : {"apt":{"sources":[{"sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu xenial main","key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286"}],"packages":["ghc-7.8.4","cabal-install-3.0"]}}
55
+ os : linux
44
56
- compiler : ghc-7.6.3
45
- addons : {"apt":{"sources":["hvr-ghc"],"packages":["ghc-7.6.3","cabal-install-2.4"]}}
57
+ addons : {"apt":{"sources":[{"sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu xenial main","key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286"}],"packages":["ghc-7.6.3","cabal-install-3.0"]}}
58
+ os : linux
46
59
- compiler : ghc-7.4.2
47
- addons : {"apt":{"sources":["hvr-ghc"],"packages":["ghc-7.4.2","cabal-install-2.4"]}}
48
- allow_failures :
49
- - compiler : ghc-8.8.1
60
+ addons : {"apt":{"sources":[{"sourceline":"deb http://ppa.launchpad.net/hvr/ghc/ubuntu xenial main","key_url":"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x063dab2bdc0b3f9fcebc378bff3aeacef6f88286"}],"packages":["ghc-7.4.2","cabal-install-3.0"]}}
61
+ os : linux
50
62
before_install :
51
63
- HC=$(echo "/opt/$CC/bin/ghc" | sed 's/-/\//')
64
+ - WITHCOMPILER="-w $HC"
65
+ - HADDOCK=$(echo "/opt/$CC/bin/haddock" | sed 's/-/\//')
52
66
- HCPKG="$HC-pkg"
53
67
- unset CC
54
68
- CABAL=/opt/ghc/bin/cabal
55
69
- CABALHOME=$HOME/.cabal
56
70
- export PATH="$CABALHOME/bin:$PATH"
57
71
- TOP=$(pwd)
58
- - HCNUMVER=$(( $($ {HC} --numeric-version|sed -E 's/([0-9] +)\.([0-9] +)\.([0-9]+).*/\1 * 10000 + \2 * 100 + \3/') ))
72
+ - " HCNUMVER=$($ {HC} --numeric-version|perl -ne '/^( \\ d +)\\ .( \\ d +)\\ .( \\ d+)( \\ .( \\ d+))?$/; print(10000 * $1 + 100 * $2 + ($3 == 0 ? $5 != 1 : $3))') "
59
73
- echo $HCNUMVER
60
- - CABAL="$CABAL -vnormal+nowrap+markoutput "
74
+ - CABAL="$CABAL -vnormal+nowrap"
61
75
- set -o pipefail
62
- - |
63
- echo 'function blue(s) { printf "\033[0;34m" s "\033[0m " }' >> .colorful.awk
64
- echo 'BEGIN { state = "output"; }' >> .colorful.awk
65
- echo '/^-----BEGIN CABAL OUTPUT-----$/ { state = "cabal" }' >> .colorful.awk
66
- echo '/^-----END CABAL OUTPUT-----$/ { state = "output" }' >> .colorful.awk
67
- echo '!/^(-----BEGIN CABAL OUTPUT-----|-----END CABAL OUTPUT-----)/ {' >> .colorful.awk
68
- echo ' if (state == "cabal") {' >> .colorful.awk
69
- echo ' print blue($0)' >> .colorful.awk
70
- echo ' } else {' >> .colorful.awk
71
- echo ' print $0' >> .colorful.awk
72
- echo ' }' >> .colorful.awk
73
- echo '}' >> .colorful.awk
74
- - cat .colorful.awk
75
- - |
76
- color_cabal_output () {
77
- awk -f $TOP/.colorful.awk
78
- }
79
- - echo text | color_cabal_output
80
- install :
81
- - ${CABAL} --version
82
- - echo "$(${HC} --version) [$(${HC} --print-project-git-commit-id 2> /dev/null || echo '?')]"
83
76
- TEST=--enable-tests
84
77
- BENCH=--enable-benchmarks
85
- - GHCHEAD=${GHCHEAD- false}
78
+ - HEADHACKAGE= false
86
79
- rm -f $CABALHOME/config
87
80
- |
88
81
echo "verbose: normal +nowrap +markoutput" >> $CABALHOME/config
89
82
echo "remote-build-reporting: anonymous" >> $CABALHOME/config
83
+ echo "write-ghc-environment-files: always" >> $CABALHOME/config
90
84
echo "remote-repo-cache: $CABALHOME/packages" >> $CABALHOME/config
91
85
echo "logs-dir: $CABALHOME/logs" >> $CABALHOME/config
92
86
echo "world-file: $CABALHOME/world" >> $CABALHOME/config
@@ -99,70 +93,64 @@ install:
99
93
echo " prefix: $CABALHOME" >> $CABALHOME/config
100
94
echo "repository hackage.haskell.org" >> $CABALHOME/config
101
95
echo " url: http://hackage.haskell.org/" >> $CABALHOME/config
96
+ install :
97
+ - ${CABAL} --version
98
+ - echo "$(${HC} --version) [$(${HC} --print-project-git-commit-id 2> /dev/null || echo '?')]"
102
99
- |
103
- if $GHCHEAD; then
104
- echo "allow-newer: $($HCPKG list --simple-output | sed -E 's/([a-zA-Z-]+)-[0-9.]+/*:\1/g')" >> $CABALHOME/config
105
-
106
- echo "repository head.hackage" >> $CABALHOME/config
107
- echo " url: http://head.hackage.haskell.org/" >> $CABALHOME/config
108
- echo " secure: True" >> $CABALHOME/config
109
- echo " root-keys: 07c59cb65787dedfaef5bd5f987ceb5f7e5ebf88b904bbd4c5cbdeb2ff71b740" >> $CABALHOME/config
110
- echo " 2e8555dde16ebd8df076f1a8ef13b8f14c66bad8eafefd7d9e37d0ed711821fb" >> $CABALHOME/config
111
- echo " 8f79fd2389ab2967354407ec852cbe73f2e8635793ac446d09461ffb99527f6e" >> $CABALHOME/config
112
- echo " key-threshold: 3" >> $CABALHOME/config
113
- fi
100
+ echo "program-default-options" >> $CABALHOME/config
101
+ echo " ghc-options: $GHCJOBS +RTS -M6G -RTS" >> $CABALHOME/config
114
102
- cat $CABALHOME/config
115
103
- rm -fv cabal.project cabal.project.local cabal.project.freeze
116
104
- travis_retry ${CABAL} v2-update -v
117
105
# Generate cabal.project
118
106
- rm -rf cabal.project cabal.project.local cabal.project.freeze
119
107
- touch cabal.project
120
108
- |
121
- echo ' packages: "."' >> cabal.project
109
+ echo " packages: ." >> cabal.project
122
110
- |
123
- echo "write-ghc-environment-files: always" >> cabal.project
124
111
- " for pkg in $($HCPKG list --simple-output); do echo $pkg | sed 's/-[^-]*$//' | (grep -vE -- '^(cassava)$' || true) | sed 's/^/constraints: /' | sed 's/$/ installed/' >> cabal.project.local; done"
125
112
- cat cabal.project || true
126
113
- cat cabal.project.local || true
127
114
- if [ -f "./configure.ac" ]; then (cd "." && autoreconf -i); fi
128
- - ${CABAL} v2-freeze -w ${HC} ${TEST} ${BENCH} | color_cabal_output
115
+ - ${CABAL} v2-freeze $WITHCOMPILER ${TEST} ${BENCH}
129
116
- " cat cabal.project.freeze | sed -E 's/^(constraints: *| *)//' | sed 's/any.//'"
130
117
- rm cabal.project.freeze
131
- - ${CABAL} v2-build -w ${HC} ${TEST} ${BENCH} --dep -j2 all | color_cabal_output
132
- - ${CABAL} v2-build -w ${HC} --disable-tests --disable-benchmarks --dep -j2 all | color_cabal_output
118
+ - travis_wait 40 ${CABAL} v2-build $WITHCOMPILER ${TEST} ${BENCH} --dep -j2 all
119
+ - travis_wait 40 ${CABAL} v2-build $WITHCOMPILER --disable-tests --disable-benchmarks --dep -j2 all
133
120
script :
134
121
- DISTDIR=$(mktemp -d /tmp/dist-test.XXXX)
135
122
# Packaging...
136
- - ${CABAL} v2-sdist all | color_cabal_output
123
+ - ${CABAL} v2-sdist all
137
124
# Unpacking...
138
125
- mv dist-newstyle/sdist/*.tar.gz ${DISTDIR}/
139
126
- cd ${DISTDIR} || false
140
- - find . -maxdepth 1 -name '*.tar.gz' -exec tar -xvf '{}' \;
127
+ - find . -maxdepth 1 -type f -name '*.tar.gz' -exec tar -xvf '{}' \;
128
+ - find . -maxdepth 1 -type f -name '*.tar.gz' -exec rm '{}' \;
129
+ - PKGDIR_cassava="$(find . -maxdepth 1 -type d -regex '.*/cassava-[0-9.]*')"
141
130
# Generate cabal.project
142
131
- rm -rf cabal.project cabal.project.local cabal.project.freeze
143
132
- touch cabal.project
144
133
- |
145
- echo ' packages: "cassava-*/*.cabal"' >> cabal.project
134
+ echo " packages: ${PKGDIR_cassava}" >> cabal.project
146
135
- |
147
- echo "write-ghc-environment-files: always" >> cabal.project
148
136
- " for pkg in $($HCPKG list --simple-output); do echo $pkg | sed 's/-[^-]*$//' | (grep -vE -- '^(cassava)$' || true) | sed 's/^/constraints: /' | sed 's/$/ installed/' >> cabal.project.local; done"
149
137
- cat cabal.project || true
150
138
- cat cabal.project.local || true
151
139
# Building...
152
140
# this builds all libraries and executables (without tests/benchmarks)
153
- - ${CABAL} v2-build -w ${HC} --disable-tests --disable-benchmarks all | color_cabal_output
141
+ - ${CABAL} v2-build $WITHCOMPILER --disable-tests --disable-benchmarks all
154
142
# Building with tests and benchmarks...
155
143
# build & run tests, build benchmarks
156
- - ${CABAL} v2-build -w ${HC} ${TEST} ${BENCH} all | color_cabal_output
144
+ - ${CABAL} v2-build $WITHCOMPILER ${TEST} ${BENCH} all
157
145
# Testing...
158
- - ${CABAL} v2-test -w ${HC} ${TEST} ${BENCH} all | color_cabal_output
146
+ - ${CABAL} v2-test $WITHCOMPILER ${TEST} ${BENCH} all
159
147
# cabal check...
160
- - (cd cassava-* && ${CABAL} -vnormal check)
148
+ - (cd ${PKGDIR_cassava} && ${CABAL} -vnormal check)
161
149
# haddock...
162
- - ${CABAL} v2-haddock -w ${HC} ${TEST} ${BENCH} all | color_cabal_output
150
+ - ${CABAL} v2-haddock $WITHCOMPILER --with-haddock $HADDOCK ${TEST} ${BENCH} all
163
151
# Building without installed constraints for packages in global-db...
164
152
- rm -f cabal.project.local
165
- - ${CABAL} v2-build -w ${HC} --disable-tests --disable-benchmarks all | color_cabal_output
153
+ - ${CABAL} v2-build $WITHCOMPILER --disable-tests --disable-benchmarks all
166
154
167
- # REGENDATA ["cassava.cabal"]
155
+ # REGENDATA ("0.9.20200325", ["cassava.cabal"])
168
156
# EOF
0 commit comments