diff --git a/.travis.yml b/.travis.yml index 3c60f101..a527c9cb 100644 --- a/.travis.yml +++ b/.travis.yml @@ -30,6 +30,9 @@ before_cache: - rm -rfv $CABALHOME/packages/head.hackage matrix: include: + - compiler: ghc-8.8.1 + addons: {"apt":{"sources":["hvr-ghc"],"packages":["ghc-8.8.1","cabal-install-3.0"]}} + env: GHCHEAD=true - compiler: ghc-8.6.5 addons: {"apt":{"sources":["hvr-ghc"],"packages":["ghc-8.6.5","cabal-install-2.4"]}} - compiler: ghc-8.4.4 @@ -38,6 +41,8 @@ matrix: addons: {"apt":{"sources":["hvr-ghc"],"packages":["ghc-8.2.2","cabal-install-2.4"]}} - compiler: ghc-8.0.2 addons: {"apt":{"sources":["hvr-ghc"],"packages":["ghc-8.0.2","cabal-install-2.4"]}} + allow_failures: + - compiler: ghc-8.8.1 before_install: - HC=$(echo "/opt/$CC/bin/ghc" | sed 's/-/\//') - HCPKG="$HC-pkg" @@ -90,6 +95,18 @@ install: echo " prefix: $CABALHOME" >> $CABALHOME/config echo "repository hackage.haskell.org" >> $CABALHOME/config echo " url: http://hackage.haskell.org/" >> $CABALHOME/config + - | + if $GHCHEAD; then + echo "allow-newer: $($HCPKG list --simple-output | sed -E 's/([a-zA-Z-]+)-[0-9.]+/*:\1/g')" >> $CABALHOME/config + + echo "repository head.hackage" >> $CABALHOME/config + echo " url: http://head.hackage.haskell.org/" >> $CABALHOME/config + echo " secure: True" >> $CABALHOME/config + echo " root-keys: 07c59cb65787dedfaef5bd5f987ceb5f7e5ebf88b904bbd4c5cbdeb2ff71b740" >> $CABALHOME/config + echo " 2e8555dde16ebd8df076f1a8ef13b8f14c66bad8eafefd7d9e37d0ed711821fb" >> $CABALHOME/config + echo " 8f79fd2389ab2967354407ec852cbe73f2e8635793ac446d09461ffb99527f6e" >> $CABALHOME/config + echo " key-threshold: 3" >> $CABALHOME/config + fi - | echo "program-default-options" >> $CABALHOME/config echo " ghc-options: -j2" >> $CABALHOME/config @@ -103,14 +120,14 @@ install: echo 'packages: "servant"' >> cabal.project echo 'packages: "servant-client"' >> cabal.project echo 'packages: "servant-client-core"' >> cabal.project - echo 'packages: "servant-http-streams"' >> cabal.project + if [ $HCNUMVER -eq 80002 ] || [ $HCNUMVER -eq 80202 ] || [ $HCNUMVER -eq 80404 ] || [ $HCNUMVER -eq 80605 ] ; then echo 'packages: "servant-http-streams"' >> cabal.project ; fi echo 'packages: "servant-docs"' >> cabal.project echo 'packages: "servant-foreign"' >> cabal.project echo 'packages: "servant-server"' >> cabal.project - echo 'packages: "doc/tutorial"' >> cabal.project - echo 'packages: "servant-machines"' >> cabal.project - echo 'packages: "servant-conduit"' >> cabal.project - echo 'packages: "servant-pipes"' >> cabal.project + if [ $HCNUMVER -eq 80002 ] || [ $HCNUMVER -eq 80202 ] || [ $HCNUMVER -eq 80404 ] || [ $HCNUMVER -eq 80605 ] ; then echo 'packages: "doc/tutorial"' >> cabal.project ; fi + if [ $HCNUMVER -eq 80002 ] || [ $HCNUMVER -eq 80202 ] || [ $HCNUMVER -eq 80404 ] || [ $HCNUMVER -eq 80605 ] ; then echo 'packages: "servant-machines"' >> cabal.project ; fi + if [ $HCNUMVER -eq 80002 ] || [ $HCNUMVER -eq 80202 ] || [ $HCNUMVER -eq 80404 ] || [ $HCNUMVER -eq 80605 ] ; then echo 'packages: "servant-conduit"' >> cabal.project ; fi + if [ $HCNUMVER -eq 80002 ] || [ $HCNUMVER -eq 80202 ] || [ $HCNUMVER -eq 80404 ] || [ $HCNUMVER -eq 80605 ] ; then echo 'packages: "servant-pipes"' >> cabal.project ; fi if [ $HCNUMVER -eq 80404 ] || [ $HCNUMVER -eq 80605 ] ; then echo 'packages: "doc/cookbook/basic-auth"' >> cabal.project ; fi if [ $HCNUMVER -eq 80404 ] || [ $HCNUMVER -eq 80605 ] ; then echo 'packages: "doc/cookbook/curl-mock"' >> cabal.project ; fi if [ $HCNUMVER -eq 80404 ] || [ $HCNUMVER -eq 80605 ] ; then echo 'packages: "doc/cookbook/basic-streaming"' >> cabal.project ; fi @@ -188,14 +205,14 @@ script: echo 'packages: "servant-*/*.cabal"' >> cabal.project echo 'packages: "servant-client-*/*.cabal"' >> cabal.project echo 'packages: "servant-client-core-*/*.cabal"' >> cabal.project - echo 'packages: "servant-http-streams-*/*.cabal"' >> cabal.project + if [ $HCNUMVER -eq 80002 ] || [ $HCNUMVER -eq 80202 ] || [ $HCNUMVER -eq 80404 ] || [ $HCNUMVER -eq 80605 ] ; then echo 'packages: "servant-http-streams-*/*.cabal"' >> cabal.project ; fi echo 'packages: "servant-docs-*/*.cabal"' >> cabal.project echo 'packages: "servant-foreign-*/*.cabal"' >> cabal.project echo 'packages: "servant-server-*/*.cabal"' >> cabal.project - echo 'packages: "tutorial-*/*.cabal"' >> cabal.project - echo 'packages: "servant-machines-*/*.cabal"' >> cabal.project - echo 'packages: "servant-conduit-*/*.cabal"' >> cabal.project - echo 'packages: "servant-pipes-*/*.cabal"' >> cabal.project + if [ $HCNUMVER -eq 80002 ] || [ $HCNUMVER -eq 80202 ] || [ $HCNUMVER -eq 80404 ] || [ $HCNUMVER -eq 80605 ] ; then echo 'packages: "tutorial-*/*.cabal"' >> cabal.project ; fi + if [ $HCNUMVER -eq 80002 ] || [ $HCNUMVER -eq 80202 ] || [ $HCNUMVER -eq 80404 ] || [ $HCNUMVER -eq 80605 ] ; then echo 'packages: "servant-machines-*/*.cabal"' >> cabal.project ; fi + if [ $HCNUMVER -eq 80002 ] || [ $HCNUMVER -eq 80202 ] || [ $HCNUMVER -eq 80404 ] || [ $HCNUMVER -eq 80605 ] ; then echo 'packages: "servant-conduit-*/*.cabal"' >> cabal.project ; fi + if [ $HCNUMVER -eq 80002 ] || [ $HCNUMVER -eq 80202 ] || [ $HCNUMVER -eq 80404 ] || [ $HCNUMVER -eq 80605 ] ; then echo 'packages: "servant-pipes-*/*.cabal"' >> cabal.project ; fi if [ $HCNUMVER -eq 80404 ] || [ $HCNUMVER -eq 80605 ] ; then echo 'packages: "cookbook-basic-auth-*/*.cabal"' >> cabal.project ; fi if [ $HCNUMVER -eq 80404 ] || [ $HCNUMVER -eq 80605 ] ; then echo 'packages: "cookbook-curl-mock-*/*.cabal"' >> cabal.project ; fi if [ $HCNUMVER -eq 80404 ] || [ $HCNUMVER -eq 80605 ] ; then echo 'packages: "cookbook-basic-streaming-*/*.cabal"' >> cabal.project ; fi diff --git a/servant-client-core/servant-client-core.cabal b/servant-client-core/servant-client-core.cabal index 371da930..6aa33851 100644 --- a/servant-client-core/servant-client-core.cabal +++ b/servant-client-core/servant-client-core.cabal @@ -22,6 +22,7 @@ tested-with: || ==8.2.2 || ==8.4.4 || ==8.6.5 + || ==8.8.1 extra-source-files: CHANGELOG.md diff --git a/servant-client/servant-client.cabal b/servant-client/servant-client.cabal index 0305ee94..8e56044c 100644 --- a/servant-client/servant-client.cabal +++ b/servant-client/servant-client.cabal @@ -26,6 +26,7 @@ tested-with: || ==8.2.2 || ==8.4.4 || ==8.6.5 + || ==8.8.1 extra-source-files: CHANGELOG.md diff --git a/servant-docs/servant-docs.cabal b/servant-docs/servant-docs.cabal index 50c102eb..c00e3e95 100644 --- a/servant-docs/servant-docs.cabal +++ b/servant-docs/servant-docs.cabal @@ -25,6 +25,7 @@ tested-with: || ==8.2.2 || ==8.4.4 || ==8.6.5 + || ==8.8.1 extra-source-files: CHANGELOG.md diff --git a/servant-foreign/servant-foreign.cabal b/servant-foreign/servant-foreign.cabal index 1b6966e0..74fca054 100644 --- a/servant-foreign/servant-foreign.cabal +++ b/servant-foreign/servant-foreign.cabal @@ -27,6 +27,7 @@ tested-with: || ==8.2.2 || ==8.4.4 || ==8.6.5 + || ==8.8.1 extra-source-files: CHANGELOG.md diff --git a/servant-server/servant-server.cabal b/servant-server/servant-server.cabal index 1e971b57..e999d308 100644 --- a/servant-server/servant-server.cabal +++ b/servant-server/servant-server.cabal @@ -28,6 +28,7 @@ tested-with: || ==8.2.2 || ==8.4.4 || ==8.6.5 + || ==8.8.1 extra-source-files: CHANGELOG.md diff --git a/servant/servant.cabal b/servant/servant.cabal index ee9f3a18..cf887858 100644 --- a/servant/servant.cabal +++ b/servant/servant.cabal @@ -25,6 +25,7 @@ tested-with: || ==8.2.2 || ==8.4.4 || ==8.6.5 + || ==8.8.1 extra-source-files: CHANGELOG.md