@@ -7,7 +7,7 @@
77# version: 0.3.20190804.2
88#
99language: c
10−dist: xenial
10+dist: bionic
1111sudo: required
1212git:
1313 # whether to recursively clone submodules
@@ -27,6 +27,8 @@ before_cache:
2727 - rm -rfv $CABALHOME/packages/head.hackage
2828matrix:
2929 include:
30+ - compiler: ghcjs-8.4
31+ addons: {"apt":{"sources":["hvr-ghc"],"packages":["ghcjs-8.4","cabal-install-3.0"]}}
3032 - compiler: ghc-8.6.5
3133 addons: {"apt":{"sources":["hvr-ghc"],"packages":["ghc-8.6.5","cabal-install-2.4"]}}
3234 - compiler: ghc-8.4.4
@@ -36,8 +38,25 @@ matrix:
3638 - compiler: ghc-8.0.2
3739 addons: {"apt":{"sources":["hvr-ghc"],"packages":["ghc-8.0.2","cabal-install-2.4"]}}
3840before_install:
41+ - |
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;
45+ sudo apt-get update;
46+ sudo apt-get install $CC cabal-install-3.0;
47+ fi
3948 - HC=$(echo "/opt/$CC/bin/ghc" | sed 's/-/\//')
4049 - WITHCOMPILER="-w $HC"
50+ - |
51+ if echo $CC | grep -q ghcjs; then
52+ GHCJS=true
53+ HC=${HC}js
54+ WITHCOMPILER="--ghcjs ${WITHCOMPILER}js"
55+ else
56+ GHCJS=false;
57+ fi
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
4160 - HCPKG="$HC-pkg"
4261 - unset CC
4362 - CABAL=/opt/ghc/bin/cabal
@@ -69,6 +88,8 @@ before_install:
6988install:
7089 - ${CABAL} --version
7190 - echo "$(${HC} --version) [$(${HC} --print-project-git-commit-id 2> /dev/null || echo '?')]"
91+ - node --version
92+ - echo $GHCJS
7293 - TEST=--enable-tests
7394 - BENCH=--enable-benchmarks
7495 - HEADHACKAGE=false
@@ -92,18 +113,13 @@ install:
92113 - cat $CABALHOME/config
93114 - rm -fv cabal.project cabal.project.local cabal.project.freeze
94115 - travis_retry ${CABAL} v2-update -v
116+ - if $GHCJS ; then ${CABAL} v2-install -w ghc-8.6.5 happy ; fi
95117 # Generate cabal.project
96118 - rm -rf cabal.project cabal.project.local cabal.project.freeze
97119 - touch cabal.project
98120 - |
99121 echo "packages: ." >> cabal.project
100122 - |
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
107123 echo "source-repository-package" >> cabal.project
108124 echo " type: git" >> cabal.project
109125 echo " location: https://github.com/obsidiansystems/dependent-map.git" >> cabal.project
@@ -136,12 +152,6 @@ script:
136152 - |
137153 echo "packages: ${PKGDIR_reflex}" >> cabal.project
138154 - |
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
145155 echo "source-repository-package" >> cabal.project
146156 echo " type: git" >> cabal.project
147157 echo " location: https://github.com/obsidiansystems/dependent-map.git" >> cabal.project
@@ -161,11 +171,11 @@ script:
161171 # build & run tests, build benchmarks
162172 - ${CABAL} v2-build $WITHCOMPILER ${TEST} ${BENCH} all | color_cabal_output
163173 # 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
165175 # cabal check...
166176 - (cd ${PKGDIR_reflex} && ${CABAL} -vnormal check)
167177 # 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
169179 # Building without installed constraints for packages in global-db...
170180 - rm -f cabal.project.local
171181 - ${CABAL} v2-build $WITHCOMPILER --disable-tests --disable-benchmarks all | color_cabal_output