diff --git a/.travis.yml b/.travis.yml new file mode 100644 index 0000000..35ad296 --- /dev/null +++ b/.travis.yml @@ -0,0 +1,55 @@ +# See https://github.com/hvr/multi-ghc-travis for more information + +language: c + +sudo: required +dist: trusty + +matrix: + include: + - env: CABALVER=1.24 GHCVER=7.10.2 + addons: {apt: {packages: [cabal-install-1.24,ghc-7.10.2,libgtk2.0-dev,libgtk-3-dev], sources: [hvr-ghc]}} + - env: CABALVER=1.24 GHCVER=8.0.1 + addons: {apt: {packages: [cabal-install-1.24,ghc-8.0.1,libgtk2.0-dev,libgtk-3-dev], sources: [hvr-ghc]}} + - env: CABALVER=head GHCVER=head + addons: {apt: {packages: [cabal-install-head,ghc-head,libgtk2.0-dev,libgtk-3-dev], sources: [hvr-ghc]}} + + allow_failures: + - env: CABALVER=head GHCVER=head + +before_install: + - export PATH=/opt/ghc/$GHCVER/bin:/opt/cabal/$CABALVER/bin:$PATH + +install: + - cabal --version + - travis_retry cabal update + - cabal sandbox init + - cabal install alex happy + - export PATH="$(pwd)/.cabal-sandbox/bin:$PATH" + - cabal install gtk2hs-buildtools + - cabal install --only-dependencies --enable-tests -j + +script: + - cabal configure --enable-tests -v2 + - cabal build + - cabal test + - cabal check + - cabal sdist +# check that the generated source-distribution can be built & installed + - export SRC_TGZ=$(cabal info . | awk '{print $2 ".tar.gz";exit}') ; + cd dist/; + cabal sandbox init; + if [ -f "$SRC_TGZ" ]; then + cabal install alex happy; + export PATH="$(pwd)/.cabal-sandbox/bin:$PATH"; + cabal install gtk2hs-buildtools; + cabal install "$SRC_TGZ" --enable-tests; + else + echo "expected '$SRC_TGZ' not found"; + exit 1; + fi + +notifications: + email: + - hasufell@posteo.de + diff --git a/README.md b/README.md index 7d4b3f2..8decddb 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,8 @@ HSFM ==== +[![Build Status](https://api.travis-ci.org/hasufell/hsfm.png?branch=master)](http://travis-ci.org/hasufell/hsfm) + A Gtk+:3 filemanager written in Haskell. Design goals: