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 "${DOCTOCCHECK-}" ]; then cp README.markdown README.markdown.orig && npm run doctoc && diff -q README.markdown README.markdown.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 env: global: - CXX=g++-4.8 - CC=gcc-4.8 - PATH="~/.cabal/bin/:$(echo $PATH | sed 's/::/:/')" - NVM_DIR="${TRAVIS_BUILD_DIR}" matrix: - 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