1
1
# This Travis job script has been generated by a script via
2
2
#
3
- # haskell-ci 'reflex-ghci.cabal' '--output' '.travis.yml'
3
+ # haskell-ci 'reflex-ghci.cabal'
4
+ #
5
+ # To regenerate the script (for example after adjusting tested-with) run
6
+ #
7
+ # haskell-ci regenerate
4
8
#
5
9
# For more information, see https://github.com/haskell-CI/haskell-ci
6
10
#
7
- # version: 0.3.20190814
11
+ # version: 0.10.2
8
12
#
13
+ version : ~> 1.0
9
14
language : c
15
+ os : linux
10
16
dist : xenial
11
- sudo : required
12
17
git :
13
18
# whether to recursively clone submodules
14
19
submodules : false
15
20
cache :
16
21
directories :
17
22
- $HOME/.cabal/packages
18
23
- $HOME/.cabal/store
24
+ - $HOME/.hlint
19
25
before_cache :
20
26
- rm -fv $CABALHOME/packages/hackage.haskell.org/build-reports.log
21
27
# remove files that are regenerated by 'cabal update'
@@ -25,13 +31,15 @@ before_cache:
25
31
- rm -fv $CABALHOME/packages/hackage.haskell.org/01-index.tar
26
32
- rm -fv $CABALHOME/packages/hackage.haskell.org/01-index.tar.idx
27
33
- rm -rfv $CABALHOME/packages/head.hackage
28
- matrix :
34
+ jobs :
29
35
include :
30
36
- compiler : ghc-8.6.5
31
- addons : {"apt":{"sources":["hvr-ghc"],"packages":["ghc-8.6.5","cabal-install-2.4"]}}
37
+ 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.2"]}}
38
+ os : linux
32
39
before_install :
33
40
- HC=$(echo "/opt/$CC/bin/ghc" | sed 's/-/\//')
34
41
- WITHCOMPILER="-w $HC"
42
+ - HADDOCK=$(echo "/opt/$CC/bin/haddock" | sed 's/-/\//')
35
43
- HCPKG="$HC-pkg"
36
44
- unset CC
37
45
- CABAL=/opt/ghc/bin/cabal
@@ -40,29 +48,8 @@ before_install:
40
48
- TOP=$(pwd)
41
49
- " HCNUMVER=$(${HC} --numeric-version|perl -ne '/^(\\ d+)\\ .(\\ d+)\\ .(\\ d+)(\\ .(\\ d+))?$/; print(10000 * $1 + 100 * $2 + ($3 == 0 ? $5 != 1 : $3))')"
42
50
- echo $HCNUMVER
43
- - CABAL="$CABAL -vnormal+nowrap+markoutput "
51
+ - CABAL="$CABAL -vnormal+nowrap"
44
52
- set -o pipefail
45
- - |
46
- echo 'function blue(s) { printf "\033[0;34m" s "\033[0m " }' >> .colorful.awk
47
- echo 'BEGIN { state = "output"; }' >> .colorful.awk
48
- echo '/^-----BEGIN CABAL OUTPUT-----$/ { state = "cabal" }' >> .colorful.awk
49
- echo '/^-----END CABAL OUTPUT-----$/ { state = "output" }' >> .colorful.awk
50
- echo '!/^(-----BEGIN CABAL OUTPUT-----|-----END CABAL OUTPUT-----)/ {' >> .colorful.awk
51
- echo ' if (state == "cabal") {' >> .colorful.awk
52
- echo ' print blue($0)' >> .colorful.awk
53
- echo ' } else {' >> .colorful.awk
54
- echo ' print $0' >> .colorful.awk
55
- echo ' }' >> .colorful.awk
56
- echo '}' >> .colorful.awk
57
- - cat .colorful.awk
58
- - |
59
- color_cabal_output () {
60
- awk -f $TOP/.colorful.awk
61
- }
62
- - echo text | color_cabal_output
63
- install :
64
- - ${CABAL} --version
65
- - echo "$(${HC} --version) [$(${HC} --print-project-git-commit-id 2> /dev/null || echo '?')]"
66
53
- TEST=--enable-tests
67
54
- BENCH=--enable-benchmarks
68
55
- HEADHACKAGE=false
@@ -83,6 +70,12 @@ install:
83
70
echo " prefix: $CABALHOME" >> $CABALHOME/config
84
71
echo "repository hackage.haskell.org" >> $CABALHOME/config
85
72
echo " url: http://hackage.haskell.org/" >> $CABALHOME/config
73
+ install :
74
+ - ${CABAL} --version
75
+ - echo "$(${HC} --version) [$(${HC} --print-project-git-commit-id 2> /dev/null || echo '?')]"
76
+ - |
77
+ echo "program-default-options" >> $CABALHOME/config
78
+ echo " ghc-options: $GHCJOBS +RTS -M6G -RTS" >> $CABALHOME/config
86
79
- cat $CABALHOME/config
87
80
- rm -fv cabal.project cabal.project.local cabal.project.freeze
88
81
- travis_retry ${CABAL} v2-update -v
@@ -91,20 +84,22 @@ install:
91
84
- touch cabal.project
92
85
- |
93
86
echo "packages: ." >> cabal.project
87
+ - echo 'package reflex-ghci' >> cabal.project
88
+ - " echo ' ghc-options: -Werror=missing-methods' >> cabal.project"
94
89
- |
95
90
- " for pkg in $($HCPKG list --simple-output); do echo $pkg | sed 's/-[^-]*$//' | (grep -vE -- '^(reflex-ghci)$' || true) | sed 's/^/constraints: /' | sed 's/$/ installed/' >> cabal.project.local; done"
96
91
- cat cabal.project || true
97
92
- cat cabal.project.local || true
98
93
- if [ -f "./configure.ac" ]; then (cd "." && autoreconf -i); fi
99
- - ${CABAL} v2-freeze $WITHCOMPILER ${TEST} ${BENCH} | color_cabal_output
94
+ - ${CABAL} v2-freeze $WITHCOMPILER ${TEST} ${BENCH}
100
95
- " cat cabal.project.freeze | sed -E 's/^(constraints: *| *)//' | sed 's/any.//'"
101
96
- rm cabal.project.freeze
102
- - ${CABAL} v2-build $WITHCOMPILER ${TEST} ${BENCH} --dep -j2 all | color_cabal_output
103
- - ${CABAL} v2-build $WITHCOMPILER --disable-tests --disable-benchmarks --dep -j2 all | color_cabal_output
97
+ - travis_wait 40 ${CABAL} v2-build $WITHCOMPILER ${TEST} ${BENCH} --dep -j2 all
98
+ - travis_wait 40 ${CABAL} v2-build $WITHCOMPILER --disable-tests --disable-benchmarks --dep -j2 all
104
99
script :
105
100
- DISTDIR=$(mktemp -d /tmp/dist-test.XXXX)
106
101
# Packaging...
107
- - ${CABAL} v2-sdist all | color_cabal_output
102
+ - ${CABAL} v2-sdist all
108
103
# Unpacking...
109
104
- mv dist-newstyle/sdist/*.tar.gz ${DISTDIR}/
110
105
- cd ${DISTDIR} || false
@@ -116,23 +111,28 @@ script:
116
111
- touch cabal.project
117
112
- |
118
113
echo "packages: ${PKGDIR_reflex_ghci}" >> cabal.project
114
+ - echo 'package reflex-ghci' >> cabal.project
115
+ - " echo ' ghc-options: -Werror=missing-methods' >> cabal.project"
119
116
- |
120
117
- " for pkg in $($HCPKG list --simple-output); do echo $pkg | sed 's/-[^-]*$//' | (grep -vE -- '^(reflex-ghci)$' || true) | sed 's/^/constraints: /' | sed 's/$/ installed/' >> cabal.project.local; done"
121
118
- cat cabal.project || true
122
119
- cat cabal.project.local || true
123
120
# Building...
124
121
# this builds all libraries and executables (without tests/benchmarks)
125
- - ${CABAL} v2-build $WITHCOMPILER --disable-tests --disable-benchmarks all | color_cabal_output
122
+ - ${CABAL} v2-build $WITHCOMPILER --disable-tests --disable-benchmarks all
126
123
# Building with tests and benchmarks...
127
124
# build & run tests, build benchmarks
128
- - ${CABAL} v2-build $WITHCOMPILER ${TEST} ${BENCH} all | color_cabal_output
125
+ - ${CABAL} v2-build $WITHCOMPILER ${TEST} ${BENCH} all
126
+ # Testing...
127
+ - export PATH="$(dirname "$HC"):$PATH" # MANUAL ADDITION
128
+ - (cd ${PKGDIR_reflex_ghci} && ${CABAL} v2-test $WITHCOMPILER ${TEST} ${BENCH} all) # MANUAL MODIFICATION
129
129
# cabal check...
130
130
- (cd ${PKGDIR_reflex_ghci} && ${CABAL} -vnormal check)
131
131
# haddock...
132
- - ${CABAL} v2-haddock $WITHCOMPILER $ {TEST} ${BENCH} all | color_cabal_output
132
+ - ${CABAL} v2-haddock $WITHCOMPILER --with-haddock $HADDOCK $ {TEST} ${BENCH} all
133
133
# Building without installed constraints for packages in global-db...
134
134
- rm -f cabal.project.local
135
- - ${CABAL} v2-build $WITHCOMPILER --disable-tests --disable-benchmarks all | color_cabal_output
135
+ - ${CABAL} v2-build $WITHCOMPILER --disable-tests --disable-benchmarks all
136
136
137
- # REGENDATA ["reflex-ghci.cabal","--output",".travis.yml"]
137
+ # REGENDATA ("0.10.2", ["reflex-ghci.cabal"])
138
138
# EOF
0 commit comments