@@ -7,7 +7,7 @@
7# version: 0.3.20190804.2
7# version: 0.3.20190804.2
10−dist: xenial
10+dist: bionic
11sudo: required
11sudo: required
13 # whether to recursively clone submodules
13 # whether to recursively clone submodules
@@ -27,6 +27,8 @@ before_cache:
27 - rm -rfv $CABALHOME/packages/head.hackage
27 - rm -rfv $CABALHOME/packages/head.hackage
30+ - compiler: ghcjs-8.4
31+ addons: {"apt":{"sources":["hvr-ghc"],"packages":["ghcjs-8.4","cabal-install-3.0"]}}
30 - compiler: ghc-8.6.5
32 - compiler: ghc-8.6.5
31 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"]}}
32 - compiler: ghc-8.4.4
34 - compiler: ghc-8.4.4
@@ -36,8 +38,25 @@ matrix:
36 - compiler: ghc-8.0.2
38 - compiler: ghc-8.0.2
37 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"]}}
38before_install:
40before_install:
42+ if [ "$TRAVIS_OS_NAME" = "linux" ]; then
43+ sudo add-apt-repository -y ppa:hvr/ghc;
44+ sudo add-apt-repository -y ppa:hvr/ghcjs;
46+ sudo apt-get install $CC cabal-install-3.0;
39 - HC=$(echo "/opt/$CC/bin/ghc" | sed 's/-/\//')
48 - HC=$(echo "/opt/$CC/bin/ghc" | sed 's/-/\//')
40 - WITHCOMPILER="-w $HC"
49 - WITHCOMPILER="-w $HC"
51+ if echo $CC | grep -q ghcjs; then
54+ WITHCOMPILER="--ghcjs ${WITHCOMPILER}js"
58+ - if $GHCJS ; then sudo apt-get install -y ghc-8.6.5 ; fi
59+ - if $GHCJS ; then PATH="/opt/ghc/8.6.5/bin:$PATH" ; fi
41 - HCPKG="$HC-pkg"
60 - HCPKG="$HC-pkg"
42 - unset CC
61 - unset CC
43 - CABAL=/opt/ghc/bin/cabal
62 - CABAL=/opt/ghc/bin/cabal
@@ -69,6 +88,8 @@ before_install:
70 - ${CABAL} --version
89 - ${CABAL} --version
71 - echo "$(${HC} --version) [$(${HC} --print-project-git-commit-id 2> /dev/null || echo '?')]"
90 - echo "$(${HC} --version) [$(${HC} --print-project-git-commit-id 2> /dev/null || echo '?')]"
72 - TEST=--enable-tests
93 - TEST=--enable-tests
73 - BENCH=--enable-benchmarks
94 - BENCH=--enable-benchmarks
74 - HEADHACKAGE=false
95 - HEADHACKAGE=false
@@ -92,18 +113,13 @@ install:
92 - cat $CABALHOME/config
113 - cat $CABALHOME/config
93 - rm -fv cabal.project cabal.project.local cabal.project.freeze
114 - rm -fv cabal.project cabal.project.local cabal.project.freeze
94 - travis_retry ${CABAL} v2-update -v
115 - travis_retry ${CABAL} v2-update -v
116+ - if $GHCJS ; then ${CABAL} v2-install -w ghc-8.6.5 happy ; fi
95 # Generate cabal.project
117 # Generate cabal.project
96 - rm -rf cabal.project cabal.project.local cabal.project.freeze
118 - rm -rf cabal.project cabal.project.local cabal.project.freeze
97 - touch cabal.project
119 - touch cabal.project
99 echo "packages: ." >> cabal.project
121 echo "packages: ." >> cabal.project
101− echo "source-repository-package" >> cabal.project
102− echo " type: git" >> cabal.project
103− echo " location: https://github.com/mokus0/dependent-sum.git" >> cabal.project
104− echo " tag: fe726cfd50997792c691d3009a3ee1ba38c435a5" >> cabal.project
105− echo " subdir: dependent-sum" >> cabal.project
106− echo "" >> cabal.project
107 echo "source-repository-package" >> cabal.project
123 echo "source-repository-package" >> cabal.project
108 echo " type: git" >> cabal.project
124 echo " type: git" >> cabal.project
109 echo " location: https://github.com/obsidiansystems/dependent-map.git" >> cabal.project
125 echo " location: https://github.com/obsidiansystems/dependent-map.git" >> cabal.project
@@ -136,12 +152,6 @@ script:
137 echo "packages: ${PKGDIR_reflex}" >> cabal.project
153 echo "packages: ${PKGDIR_reflex}" >> cabal.project
139− echo "source-repository-package" >> cabal.project
140− echo " type: git" >> cabal.project
141− echo " location: https://github.com/mokus0/dependent-sum.git" >> cabal.project
142− echo " tag: fe726cfd50997792c691d3009a3ee1ba38c435a5" >> cabal.project
143− echo " subdir: dependent-sum" >> cabal.project
144− echo "" >> cabal.project
145 echo "source-repository-package" >> cabal.project
155 echo "source-repository-package" >> cabal.project
146 echo " type: git" >> cabal.project
156 echo " type: git" >> cabal.project
147 echo " location: https://github.com/obsidiansystems/dependent-map.git" >> cabal.project
157 echo " location: https://github.com/obsidiansystems/dependent-map.git" >> cabal.project
@@ -161,11 +171,11 @@ script:
161 # build & run tests, build benchmarks
171 # build & run tests, build benchmarks
162 - ${CABAL} v2-build $WITHCOMPILER ${TEST} ${BENCH} all | color_cabal_output
172 - ${CABAL} v2-build $WITHCOMPILER ${TEST} ${BENCH} all | color_cabal_output
163 # Testing...
173 # Testing...
164− - ${CABAL} v2-test $WITHCOMPILER ${TEST} ${BENCH} all | color_cabal_output
174+ - if ! $GHCJS && [ $HCNUMVER -ge 80000 ] && [ $HCNUMVER -lt 80606 ] ; then ${CABAL} v2-test $WITHCOMPILER ${TEST} ${BENCH} all | color_cabal_output ; fi
165 # cabal check...
175 # cabal check...
166 - (cd ${PKGDIR_reflex} && ${CABAL} -vnormal check)
176 - (cd ${PKGDIR_reflex} && ${CABAL} -vnormal check)
167 # haddock...
177 # haddock...
168− - ${CABAL} v2-haddock $WITHCOMPILER ${TEST} ${BENCH} all | color_cabal_output
178+ - if ! $GHCJS && [ $HCNUMVER -ge 80000 ] && [ $HCNUMVER -lt 80606 ] ; then ${CABAL} v2-haddock $WITHCOMPILER ${TEST} ${BENCH} all | color_cabal_output ; fi
169 # Building without installed constraints for packages in global-db...
179 # Building without installed constraints for packages in global-db...
170 - rm -f cabal.project.local
180 - rm -f cabal.project.local
171 - ${CABAL} v2-build $WITHCOMPILER --disable-tests --disable-benchmarks all | color_cabal_output
181 - ${CABAL} v2-build $WITHCOMPILER --disable-tests --disable-benchmarks all | color_cabal_output