hasql/.travis.yml
2019-11-07 15:23:16 +03:00

64 lines
1.5 KiB
YAML

if: tag IS blank
env:
- ghc=8.0.2
- ghc=8.2.2
- ghc=8.4.2
- ghc=8.6.5 benchmarks=1 tests=1
- ghc=8.8.1
jobs:
allow_failures:
- env: ghc=8.8.1
services:
- postgresql
install:
# Set up the Shell to treat the semicolon as &&
- set -o pipefail && set -e
# Install GHC and Cabal
-
cabal=${cabal=2.4};
travis_retry sudo add-apt-repository -y ppa:hvr/ghc;
travis_retry sudo apt-get update;
travis_retry sudo apt-get install cabal-install-$cabal ghc-$ghc;
export PATH=/opt/ghc/$ghc/bin:/opt/cabal/$cabal/bin:$PATH;
# Update the Cabal database
- cabal update
# Switch to the distro:
-
export pkg_name=$(cabal info . | awk '{print $2;exit}');
cabal sdist;
cd dist;
tar xzvf $pkg_name.tar.gz;
cd $pkg_name;
# Install the lower bound dependencies
-
if [ "$lower_bound_dependencies" = "1" ];
then
constraint_options=(
);
fi;
# Install the library dependencies
- cabal install --only-dependencies --reorder-goals --force-reinstalls
${constraint_options[@]}
$([ "$tests" = "1" ] && echo "--enable-tests")
$([ "$benchmarks" = "1" ] && echo "--enable-benchmarks")
# Build the library
- cabal build
# Configure and build the remaining stuff
- cabal configure
$([ "$tests" = "1" ] && echo "--enable-tests")
$([ "$benchmarks" = "1" ] && echo "--enable-benchmarks")
-f doctest
- cabal build
script:
- |
if [ "$tests" = "1" ];
then
cabal clean;
cabal test --show-details=always;
fi;