--- dist: trusty sudo: false language: generic services: - docker .before_script: &auto_skip - | if [ "false" != "$TRAVIS_PULL_REQUEST" ]; then TRAVIS_COMMIT_RANGE="$TRAVIS_BRANCH..$TRAVIS_PULL_REQUEST_SHA" fi if [ "" = "$TRAVIS_COMMIT_RANGE" ]; then echo "This is a new branch" elif ! git diff --name-only "$TRAVIS_COMMIT_RANGE" -- &> /dev/null; then echo "Change range not recognized" elif git diff --name-only "$TRAVIS_COMMIT_RANGE" -- | grep -Eq "^$NODE_VERSION\/$VARIANT\/Dockerfile"; then echo "Change of $NODE_VERSION\\$VARIANT\Dockerfile detected." else echo "Skip build of $NODE_VERSION\\$VARIANT\Dockerfile as it's not changed." exit fi script: ./test-build.sh $NODE_VERSION $VARIANT stages: - Test - Build - name: Deploy if: branch = master AND type IN (push) jobs: include: - stage: Test env: - TEST: Markdown link check language: node_js node_js: - lts/* install: - npm i -g markdown-link-check script: - find . -name "*.md" | xargs -n 1 markdown-link-check - stage: Test env: - TEST: Editor Config check language: node_js node_js: - lts/* install: - npm i -g eclint script: - eclint check - stage: Test env: - TEST: Doc Toc Check language: node_js node_js: - lts/* install: npm i -g doctoc script: - cp README.md README.md.tmp && doctoc --title='## Table of Contents' --github README.md && diff -q README.md README.md.tmp - stage: Test env: - TEST: shfmt check script: - docker run -it --rm -v "$(pwd)":/sh -w /sh peterdavehello/shfmt:2.6.0 shfmt -sr -i 2 -l -w -ci . - git diff --color - git diff --stat=220 --color --exit-code - stage: Test env: - TEST: Shell Check script: shellcheck *.sh - stage: Test env: - TEST: .travis.yml and travis.yml.template consistency language: generic script: - ./update.sh - git diff --stat --exit-code .travis.yml - stage: Deploy script: ./generate-stackbrew-pr.sh # Docker Build #