@@ -4,7 +4,7 @@
5# For more information, see https://github.com/haskell-CI/haskell-ci
5# For more information, see https://github.com/haskell-CI/haskell-ci
7−# version: 0.3.20190804.2
7+# version: 0.3.20190814
10dist: xenial
10dist: xenial
@@ -25,12 +25,10 @@ before_cache:
25 - rm -fv $CABALHOME/packages/hackage.haskell.org/01-index.tar
25 - rm -fv $CABALHOME/packages/hackage.haskell.org/01-index.tar
26 - rm -fv $CABALHOME/packages/hackage.haskell.org/01-index.tar.idx
26 - rm -fv $CABALHOME/packages/hackage.haskell.org/01-index.tar.idx
27 - rm -rfv $CABALHOME/packages/head.hackage
27 - rm -rfv $CABALHOME/packages/head.hackage
31 - compiler: ghcjs-8.4
30 - compiler: ghcjs-8.4
32− addons: {"apt":{"sources":["hvr-ghc"],"packages":["ghc-8.4.4","cabal-install-3.0"]}}
31+ addons: {"apt":{"sources":["hvr-ghc"],"packages":["cabal-install-3.0"]}}
33− env: GHCJS_PACKAGE="ghcjs-8.4"
34 - compiler: ghc-8.6.5
32 - compiler: ghc-8.6.5
35 addons: {"apt":{"sources":["hvr-ghc"],"packages":["ghc-8.6.5","cabal-install-2.4"]}}
33 addons: {"apt":{"sources":["hvr-ghc"],"packages":["ghc-8.6.5","cabal-install-2.4"]}}
36 - compiler: ghc-8.4.4
34 - compiler: ghc-8.4.4
@@ -39,16 +37,14 @@ matrix:
39 addons: {"apt":{"sources":["hvr-ghc"],"packages":["ghc-8.2.2","cabal-install-2.4"]}}
37 addons: {"apt":{"sources":["hvr-ghc"],"packages":["ghc-8.2.2","cabal-install-2.4"]}}
40 - compiler: ghc-8.0.2
38 - compiler: ghc-8.0.2
41 addons: {"apt":{"sources":["hvr-ghc"],"packages":["ghc-8.0.2","cabal-install-2.4"]}}
39 addons: {"apt":{"sources":["hvr-ghc"],"packages":["ghc-8.0.2","cabal-install-2.4"]}}
43before_install:
40before_install:
45− if [ "$TRAVIS_OS_NAME" = "linux" ] && [ ! -z "$GHCJS_PACKAGE" ]; then
42+ if [ "$TRAVIS_OS_NAME" = "linux" ]; then
46− curl -s https://deb.nodesource.com/gpgkey/nodesource.gpg.key | sudo apt-key add -;
47− sudo sh -c "echo deb https://deb.nodesource.com/node_8.x xenial main > /etc/apt/sources.list.d/nodesource.list";
48 sudo add-apt-repository -y ppa:hvr/ghcjs;
43 sudo add-apt-repository -y ppa:hvr/ghcjs;
44+ curl -s https://deb.nodesource.com/gpgkey/nodesource.gpg.key | sudo apt-key add -
45+ sudo apt-add-repository 'https://deb.nodesource.com/node_8.x xenial main'
49 sudo apt-get update;
46 sudo apt-get update;
50− sudo apt-get install nodejs;
47+ sudo apt-get install $CC cabal-install-3.0 nodejs;
51− sudo apt-get install "$GHCJS_PACKAGE";
53 - HC=$(echo "/opt/$CC/bin/ghc" | sed 's/-/\//')
49 - HC=$(echo "/opt/$CC/bin/ghc" | sed 's/-/\//')
54 - WITHCOMPILER="-w $HC"
50 - WITHCOMPILER="-w $HC"
@@ -60,8 +56,8 @@ before_install:
61 GHCJS=false;
57 GHCJS=false;
63− - if $GHCJS ; then sudo apt-get install -y ghc-8.6.5 ; fi
59+ - if $GHCJS ; then sudo apt-get install -y ghc-8.4.4 ; fi
64− - if $GHCJS ; then PATH="/opt/ghc/8.6.5/bin:$PATH" ; fi
60+ - if $GHCJS ; then PATH="/opt/ghc/8.4.4/bin:$PATH" ; fi
65 - HCPKG="$HC-pkg"
61 - HCPKG="$HC-pkg"
66 - unset CC
62 - unset CC
67 - CABAL=/opt/ghc/bin/cabal
63 - CABAL=/opt/ghc/bin/cabal
@@ -97,6 +93,7 @@ install:
97 - echo $GHCJS
93 - echo $GHCJS
98 - TEST=--enable-tests
94 - TEST=--enable-tests
99 - BENCH=--enable-benchmarks
95 - BENCH=--enable-benchmarks
96+ - BENCH=--disable-benchmarks
100 - HEADHACKAGE=false
97 - HEADHACKAGE=false
101 - rm -f $CABALHOME/config
98 - rm -f $CABALHOME/config
@@ -116,42 +113,39 @@ install:
116 echo "repository hackage.haskell.org" >> $CABALHOME/config
113 echo "repository hackage.haskell.org" >> $CABALHOME/config
117 echo " url: http://hackage.haskell.org/" >> $CABALHOME/config
114 echo " url: http://hackage.haskell.org/" >> $CABALHOME/config
118 - cat $CABALHOME/config
115 - cat $CABALHOME/config
119− - rm -fv cabal.project cabal.project.local
116+ - rm -fv cabal.project cabal.project.local cabal.project.freeze
120 - travis_retry ${CABAL} v2-update -v
117 - travis_retry ${CABAL} v2-update -v
121− - if $GHCJS ; then (cd /tmp && ${CABAL} v2-install -w ghc-8.6.5 happy) ; fi
118+ - if $GHCJS ; then (cd /tmp && ${CABAL} v2-install -w ghc-8.4.4 happy) ; fi
122 # Generate cabal.project
119 # Generate cabal.project
123− - rm -rf cabal.project cabal.project.local
120+ - rm -rf cabal.project cabal.project.local cabal.project.freeze
124 - touch cabal.project
121 - touch cabal.project
126 echo "packages: ." >> cabal.project
123 echo "packages: ." >> cabal.project
127 - cat cabal.project || true
125 - cat cabal.project || true
128 - cat cabal.project.local || true
126 - cat cabal.project.local || true
129 - if [ -f "./configure.ac" ]; then (cd "." && autoreconf -i); fi
127 - if [ -f "./configure.ac" ]; then (cd "." && autoreconf -i); fi
130− # - ${CABAL} v2-freeze $WITHCOMPILER ${TEST} ${BENCH} | color_cabal_output
128+ - ${CABAL} v2-freeze $WITHCOMPILER ${TEST} ${BENCH} | color_cabal_output
131− - ${CABAL} v2-configure $WITHCOMPILER ${TEST} ${BENCH} | color_cabal_output
132 - "cat cabal.project.freeze | sed -E 's/^(constraints: *| *)//' | sed 's/any.//'"
129 - "cat cabal.project.freeze | sed -E 's/^(constraints: *| *)//' | sed 's/any.//'"
133− - rm cabal.project.local || true
130+ - rm cabal.project.freeze
135 - DISTDIR=$(mktemp -d /tmp/dist-test.XXXX)
132 - DISTDIR=$(mktemp -d /tmp/dist-test.XXXX)
136 # Packaging...
133 # Packaging...
137 - ${CABAL} v2-sdist all | color_cabal_output
134 - ${CABAL} v2-sdist all | color_cabal_output
138 # Unpacking...
135 # Unpacking...
139 - mv dist-newstyle/sdist/*.tar.gz ${DISTDIR}/
136 - mv dist-newstyle/sdist/*.tar.gz ${DISTDIR}/
140− - cp cabal.project.freeze ${DISTDIR}/ || true
141 - cd ${DISTDIR} || false
137 - cd ${DISTDIR} || false
142 - find . -maxdepth 1 -type f -name '*.tar.gz' -exec tar -xvf '{}' \;
138 - find . -maxdepth 1 -type f -name '*.tar.gz' -exec tar -xvf '{}' \;
143 - find . -maxdepth 1 -type f -name '*.tar.gz' -exec rm '{}' \;
139 - find . -maxdepth 1 -type f -name '*.tar.gz' -exec rm '{}' \;
144 - PKGDIR_reflex="$(find . -maxdepth 1 -type d -regex '.*/reflex-[0-9.]*')"
140 - PKGDIR_reflex="$(find . -maxdepth 1 -type d -regex '.*/reflex-[0-9.]*')"
145 # Generate cabal.project
141 # Generate cabal.project
146− - rm -rf cabal.project cabal.project.local
142+ - rm -rf cabal.project cabal.project.local cabal.project.freeze
147 - touch cabal.project
143 - touch cabal.project
149 echo "packages: ${PKGDIR_reflex}" >> cabal.project
145 echo "packages: ${PKGDIR_reflex}" >> cabal.project
151 - cat cabal.project || true
147 - cat cabal.project || true
152 - cat cabal.project.local || true
148 - cat cabal.project.local || true
153− - rm cabal.project.local || true
154− - cat cabal.project.freeze || true
155 # Building...
149 # Building...
156 # this builds all libraries and executables (without tests/benchmarks)
150 # this builds all libraries and executables (without tests/benchmarks)
157 - ${CABAL} v2-build $WITHCOMPILER --disable-tests --disable-benchmarks all | color_cabal_output
151 - ${CABAL} v2-build $WITHCOMPILER --disable-tests --disable-benchmarks all | color_cabal_output
@@ -159,23 +153,17 @@ script:
159 # build & run tests, build benchmarks
153 # build & run tests, build benchmarks
160 - ${CABAL} v2-build $WITHCOMPILER ${TEST} ${BENCH} all | color_cabal_output
154 - ${CABAL} v2-build $WITHCOMPILER ${TEST} ${BENCH} all | color_cabal_output
161 # Testing...
155 # Testing...
162− - if ! $GHCJS && [ $HCNUMVER -ge 80000 ] && [ $HCNUMVER -lt 80606 ] ; then ${CABAL} v2-test $WITHCOMPILER ${TEST} ${BENCH} all | color_cabal_output ; fi
156+ - if ! $GHCJS ; then ${CABAL} v2-test $WITHCOMPILER ${TEST} ${BENCH} all | color_cabal_output ; fi
163 # cabal check...
157 # cabal check...
164 - (cd ${PKGDIR_reflex} && ${CABAL} -vnormal check)
158 - (cd ${PKGDIR_reflex} && ${CABAL} -vnormal check)
165 # haddock...
159 # haddock...
166− - if ! $GHCJS && [ $HCNUMVER -ge 80000 ] && [ $HCNUMVER -lt 80606 ] ; then ${CABAL} v2-haddock $WITHCOMPILER ${TEST} ${BENCH} all | color_cabal_output ; fi
160+ - if ! $GHCJS ; then ${CABAL} v2-haddock $WITHCOMPILER ${TEST} ${BENCH} all | color_cabal_output ; fi
167− # Building without installed constraints for packages in global-db...
168− - rm -f cabal.project.local || true
169− - ${CABAL} v2-build $WITHCOMPILER --disable-tests --disable-benchmarks all | color_cabal_output
170 # Constraint sets
161 # Constraint sets
171− - rm -rf cabal.project.local || true
162+ - rm -rf cabal.project.local
172 # Constraint set no-th
163 # Constraint set no-th
173 - ${CABAL} v2-build $WITHCOMPILER --disable-tests --disable-benchmarks --constraint='reflex -use-template-haskell' all | color_cabal_output
164 - ${CABAL} v2-build $WITHCOMPILER --disable-tests --disable-benchmarks --constraint='reflex -use-template-haskell' all | color_cabal_output
174− # Constraint sets
165+ # Constraint set old-these
175− - rm -rf cabal.project.local || true
176− # Constraint set don't use split these/semialign
177− - ${CABAL} v2-build $WITHCOMPILER --disable-tests --disable-benchmarks --constraint='reflex -split-these' all | color_cabal_output
166+ - ${CABAL} v2-build $WITHCOMPILER --disable-tests --disable-benchmarks --constraint='these <1' all | color_cabal_output
179# REGENDATA ["--config=cabal.haskell-ci","cabal.project"]
168# REGENDATA ["--config=cabal.haskell-ci","cabal.project"]