# http://docs.haskellstack.org/en/stable/travis_ci.html language: haskell branches: only: - master sudo: false # addons: # apt: # packages: # - libgmp-dev cache: directories: - $HOME/.stack/ # - "$HOME/.stack-work/" - $HOME/shelltestrunner/ before_install: # install stack - mkdir -p ~/.local/bin - export PATH=~/.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' - chmod a+x ~/.local/bin/stack - stack --version install: # install GHC - stack +RTS -N2 -RTS setup # install deps - stack +RTS -N2 -RTS build --only-snapshot # install shelltestrunner - git clone http://github.com/simonmichael/shelltestrunner - stack +RTS -N2 -RTS install --install-ghc --stack-yaml=shelltestrunner/stack.yaml --resolver=lts script: # build all packages, ensuring no warnings, no haddock failures, per-package test suites passing - stack +RTS -N2 -RTS build --ghc-options=-Werror --haddock --no-haddock-deps --test # run functional tests - COLUMNS=80 stack exec -- shelltest --execdir -- -j16 tests # coveralls.io coverage reports # after_script: # - "cabal install hpc-coveralls" # - "hpc-coveralls count-von-count-tests --exclude-dir=tests --exclude-dir=src/Gyrid --display-report" notifications: irc: channels: - "chat.freenode.net#hledger" on_success: change # [always|never|change] default: always on_failure: change # default: always use_notice: true skip_join: true # If you enable skip_join, remember to remove the NO_EXTERNAL_MSGS flag (n) on the IRC channel(s) the bot notifies. template: - "%{commit}: %{message} %{build_url}" # - "%{repository_name} (%{commit}) : %{message} %{build_url}" # You can interpolate the following variables: # repository_slug: your GitHub repo identifier (like svenfuchs/minimal) # repository_name: the slug without the username # repository: same as repository_slug [Deprecated] # build_number: build number # build_id: build id # branch: branch build name # commit: shortened commit SHA # author: commit author name # commit_message: commit message of build # commit_subject: first line of the commit message # result: result of build # message: travis message to the build # duration: duration of the build # compare_url: commit change view URL # build_url: URL of the build detail # The default template is: # - "%{repository}#%{build_number} (%{branch} - %{commit} : %{author}): %{message}" # - "Change view : %{compare_url}" # - "Build details : %{build_url}" # email: # false # recipients: # - one@example.com # - other@example.com # on_success: [always|never|change] # default: change # on_failure: [always|never|change] # default: always