sudo: false cache: directories: - tests/elm-stuff/build-artifacts - sysconfcpus os: - linux - osx env: matrix: - ELM_VERSION=0.18.0 TARGET_NODE_VERSION=node - ELM_VERSION=0.18.0 TARGET_NODE_VERSION=4.0 before_install: - if [ ${TRAVIS_OS_NAME} == "osx" ]; then brew update; brew install nvm; mkdir ~/.nvm; export NVM_DIR=~/.nvm; source $(brew --prefix nvm)/nvm.sh; fi - echo -e "Host github.com\n\tStrictHostKeyChecking no\n" >> ~/.ssh/config - | # epic build time improvement - see https://github.com/elm-lang/elm-compiler/issues/1473#issuecomment-245704142 if [ ! -d sysconfcpus/bin ]; then git clone https://github.com/obmarg/libsysconfcpus.git; cd libsysconfcpus; ./configure --prefix=$TRAVIS_BUILD_DIR/sysconfcpus; make && make install; cd ..; fi install: - nvm install $TARGET_NODE_VERSION - nvm use $TARGET_NODE_VERSION - node --version - npm --version - npm install -g elm-use elm-test@0.18.3 - elm-use $ELM_VERSION - mv $(npm config get prefix)/bin/elm-make $(npm config get prefix)/bin/elm-make-old - printf '%s\n\n' '#!/bin/bash' 'echo "Running elm-make with sysconfcpus -n 2"' '$TRAVIS_BUILD_DIR/sysconfcpus/bin/sysconfcpus -n 2 elm-make-old "$@"' > $(npm config get prefix)/bin/elm-make - chmod +x $(npm config get prefix)/bin/elm-make - travis_retry elm-package install --yes - cd tests - npm install - travis_retry elm-package install --yes - cd .. script: - elm-format --validate src tests examples readme-example - cd examples - elm-make --output=/dev/null --yes - cd ../readme-example - elm-make --output=/dev/null --yes - cd .. - npm test