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
before_cache:
  - 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
