From cc5f895337b81bfac3e5e5bccb108ced58806e87 Mon Sep 17 00:00:00 2001 From: Andrew Gibiansky Date: Wed, 4 Mar 2015 16:45:22 -0800 Subject: [PATCH] Adding travis ci --- .gitignore | 1 + .travis.yml | 48 ++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 49 insertions(+) create mode 100644 .travis.yml diff --git a/.gitignore b/.gitignore index 8985851d..c0fa143b 100644 --- a/.gitignore +++ b/.gitignore @@ -1,5 +1,6 @@ *.hi notebooks/Test.ipynb +notebooks/Untitled.ipynb *.o dist IHaskell/GHC diff --git a/.travis.yml b/.travis.yml new file mode 100644 index 00000000..a20a7299 --- /dev/null +++ b/.travis.yml @@ -0,0 +1,48 @@ +# Taken from multi-ghc-travis +# NB: don't set `language: haskell` here + +# The following enables several GHC versions to be tested; often it's enough to test only against the last release in a major GHC version. Feel free to omit lines listings versions you don't need/want testing for. +env: + - CABALVER=1.18 GHCVER=7.6.3 + - CABALVER=1.18 GHCVER=7.8.4 # see note about Alex/Happy for GHC >= 7.8 + - CABALVER=1.22 GHCVER=7.10.1 + - CABALVER=head GHCVER=head # see section about GHC HEAD snapshots + +# Note: the distinction between `before_install` and `install` is not important. +before_install: + - travis_retry sudo add-apt-repository -y ppa:hvr/ghc + - travis_retry sudo apt-get update + - travis_retry sudo apt-get install cabal-install-$CABALVER ghc-$GHCVER # see note about happy/alex + - travis_retry git clone git@github.com:zeromq/zeromq4-x.git libzmq + - cd libzmq && travis_retry ./autogen.sh && travis_retry ./configure && make && travis_retry sudo make install && travis_retry sudo ldconfig + - export PATH=/opt/ghc/$GHCVER/bin:/opt/cabal/$CABALVER/bin:$PATH + - | + if [ $GHCVER = "head" ] || [ ${GHCVER%.*} = "7.8" ] || [ ${GHCVER%.*} = "7.10" ]; then + travis_retry sudo apt-get install happy-1.19.4 alex-3.1.3 + export PATH=/opt/alex/3.1.3/bin:/opt/happy/1.19.4/bin:$PATH + else + travis_retry sudo apt-get install happy alex + fi + +install: + - cabal --version + - echo "$(ghc --version) [$(ghc --print-project-git-commit-id 2> /dev/null || echo '?')]" + - travis_retry cabal update + +# Here starts the actual work to be performed for the package under test; any command which exits with a non-zero exit code causes the build to fail. +script: + - if [ -f configure.ac ]; then autoreconf -i; fi + - cabal configure --enable-tests --enable-benchmarks -v2 # -v2 provides useful information for debugging + - ./build.sh all + - ./build.sh display + - cabal sdist + +# The following scriptlet checks that the resulting source distribution can be built & installed + - export SRC_TGZ=$(cabal info . | awk '{print $2 ".tar.gz";exit}') ; + cd dist/; + if [ -f "$SRC_TGZ" ]; then + cabal install --force-reinstalls "$SRC_TGZ"; + else + echo "expected '$SRC_TGZ' not found"; + exit 1; + fi