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