language: haskell dist: trusty cache: directories: - $HOME/.cabal/store cabal: "3.0" matrix: include: - ghc: "8.10.1" - ghc: "8.8.1" - ghc: "8.6.5" install: - cabal --version - ghc --version script: - cabal v2-update - cabal v2-build - cabal v2-test --enable-test # This weird bash stuff is a workaround for haskell/cabal#5977 - "! cabal new-haddock 2>&1 >/dev/null | grep 'Failed to build documentation'" - cabal check - cabal sdist # tests that a source-distribution can be generated # Check that the resulting source distribution can be built & installed. # If there are no other `.tar.gz` files in `dist`, this can be even simpler: # `cabal install --force-reinstalls dist/*-*.tar.gz` - SRC_TGZ=$(cabal info . | awk '{print $2;exit}').tar.gz && (cd dist-newstyle/sdist && cabal v1-install --force-reinstalls "$SRC_TGZ") - cabal v2-build polysemy-plugin - cabal v2-test --enable-test polysemy-plugin