language: generic
dist: trusty
sudo: required
addons:
  apt:
    packages:
      - cabal-install
      - ghc
      - zsh
    #  - ksh
    #  - gcc-4.8
    #  - g++-4.8

cache:
  directories:
    - $HOME/.npm
    - $HOME/.ghc
    - $HOME/.cabal
    - $TRAVIS_BUILD_DIR/.cache
    - $TRAVIS_BUILD_DIR/node_modules
before_install:
  - $SHELL --version 2> /dev/null || dpkg -s $SHELL 2> /dev/null || which $SHELL
  - curl --version
  - wget --version
install:
  - if [ -n "${SHELLCHECK-}" ]; then cabal update && cabal install ShellCheck && shellcheck --version ; fi
  - if [ -z "${SHELLCHECK-}" ]; then nvm install node && npm install && npm prune && npm ls urchin doctoc; fi
  - '[ -z "$WITHOUT_CURL" ] || sudo apt-get remove curl -y'
script:
  - if [ -n "${MAKE_RELEASE-}" ]; then export GIT_EDITOR="sed -i '1 s/^/99.99.99 make release test/'" && git fetch --unshallow --tags && echo proceed | make TAG=99.99.99 release ; fi
  - if [ -n "${DOCTOCCHECK-}" ]; then cp README.md README.md.orig && npm run doctoc && diff -q README.md README.md.orig ; fi
  - if [ -n "${SHELLCHECK-}" ]; then shellcheck -s bash nvm.sh && shellcheck -s sh nvm.sh && shellcheck -s dash nvm.sh && shellcheck -s ksh nvm.sh ; fi
  - if [ -n "${SHELLCHECK-}" ]; then shellcheck -s bash install.sh bash_completion nvm-exec ; fi
  - if [ -n "${SHELL-}" ] && [ -n "${TEST_SUITE}" ]; then make TEST_SUITE=$TEST_SUITE URCHIN="$(npm bin)/urchin" test-$SHELL ; fi
after_success:
  - if [ -n "$WITHOUT_CURL" ]; then sudo apt-get install curl -y ; fi
env:
  global:
    - CXX=g++-4.8
    - CC=gcc-4.8
    - PATH="~/.cabal/bin/:$(echo $PATH | sed 's/::/:/')"
    - NVM_DIR="${TRAVIS_BUILD_DIR}"
  matrix:
    - MAKE_RELEASE=true
    - DOCTOCCHECK=true
    - SHELLCHECK=true
    - SHELL=bash TEST_SUITE=install_script
    - SHELL=sh TEST_SUITE=fast
    - SHELL=dash TEST_SUITE=fast
    - SHELL=bash TEST_SUITE=fast
    - SHELL=zsh TEST_SUITE=fast
  #  - SHELL=ksh TEST_SUITE=fast
    - SHELL=sh TEST_SUITE=sourcing
    - SHELL=dash TEST_SUITE=sourcing
    - SHELL=bash TEST_SUITE=sourcing
    - SHELL=zsh TEST_SUITE=sourcing
  #  - SHELL=ksh TEST_SUITE=sourcing
    - SHELL=sh TEST_SUITE=slow
    - SHELL=dash TEST_SUITE=slow
    - SHELL=bash TEST_SUITE=slow
    - SHELL=zsh TEST_SUITE=slow
  #  - SHELL=ksh TEST_SUITE=slow
    - SHELL=sh TEST_SUITE=installation_node
    - SHELL=sh TEST_SUITE=installation_node WITHOUT_CURL=1
    - SHELL=dash TEST_SUITE=installation_node
    - SHELL=dash TEST_SUITE=installation_node WITHOUT_CURL=1
    - SHELL=bash TEST_SUITE=installation_node
    - SHELL=bash TEST_SUITE=installation_node WITHOUT_CURL=1
    - SHELL=zsh TEST_SUITE=installation_node
    - SHELL=zsh TEST_SUITE=installation_node WITHOUT_CURL=1
  #  - SHELL=ksh TEST_SUITE=installation_node
  #  - SHELL=ksh TEST_SUITE=installation_node WITHOUT_CURL=1
    - SHELL=sh TEST_SUITE=installation_iojs
    - SHELL=sh TEST_SUITE=installation_iojs WITHOUT_CURL=1
    - SHELL=dash TEST_SUITE=installation_iojs
    - SHELL=dash TEST_SUITE=installation_iojs WITHOUT_CURL=1
    - SHELL=bash TEST_SUITE=installation_iojs
    - SHELL=bash TEST_SUITE=installation_iojs WITHOUT_CURL=1
    - SHELL=zsh TEST_SUITE=installation_iojs
    - SHELL=zsh TEST_SUITE=installation_iojs WITHOUT_CURL=1
  #  - SHELL=ksh TEST_SUITE=installation_iojs
  #  - SHELL=ksh TEST_SUITE=installation_iojs WITHOUT_CURL=1
