ghc-mod/.travis.yml

69 lines
1.9 KiB
YAML

language: c
sudo: false
cache:
apt: true
directories:
- $HOME/.stack
- $HOME/.ghc-mod
addons:
apt:
packages:
- libfcgi-dev
- libgmp-dev
before_install:
- unset CC
- mkdir -p ~/.local/bin
- export PATH=$HOME/.local/bin:$PATH
- travis_retry curl -L https://www.stackage.org/stack/linux-x86_64 | tar xz --wildcards --strip-components=1 -C ~/.local/bin '*/stack'
- stack --version
install:
# - git clone --depth=1 https://github.com/DanielG/cabal-helper.git
- stack --no-terminal setup --resolver=ghc-$GHCVER
- stack --no-terminal install cabal-install --resolver=$RES
- travis_retry cabal update
- stack --no-terminal install happy --resolver=$RES
- |
resf="ghc-$GHCVER.yaml"
echo "resolver: ghc-$GHCVER" > "$resf"
echo "packages: ['.']" >> "$resf"
stack --no-terminal solver --update-config --stack-yaml="$resf" || exit 101
sed -i 's/^resolver:/compiler:/;s/^extra-deps:/packages:/' "$resf"
echo "resolver: { name: 'ghc-$GHCVER', location: './$resf' }" > stack.yaml
echo "packages: ['.']" >> stack.yaml
ir=$( stack path --snapshot-install-root )
ls -d ${ir%/custom-ghc-*}/custom-ghc-* | grep -v "${ir%/*}" | while read i; do
rm -rfv "$i"
done
script:
- cabal check
- |
case "$TRAVIS_BRANCH" in
"release"*)
touch ChangeLog
sdistdir="$TRAVIS_BUILD_DIR/../sdist-test"
mkdir -p "$sdistdir"
tar zvxf $(stack sdist 2>&1 | tail -n1 | sed 's/.* //') --strip-components=1 -C "$sdistdir"
cp "ghc-$GHCVER.yaml" stack.yaml "$sdistdir"
cd "$sdistdir"
;;
esac
- stack --no-terminal build --test --no-run-tests
- export DOCTEST_DIST_DIR="$(stack path --dist-dir)"
- stack --no-terminal test
matrix:
matrix:
include:
- env: GHCVER=7.8.4 RES=lts-2.22
compiler: ': #GHC 7.8.4'
- env: GHCVER=7.10.3 RES=lts-6.9
compiler: ': #GHC 7.10.3'
- env: GHCVER=8.0.1 RES=nightly-2016-08-01
compiler: ': #GHC 8.0.1'