docker-node/.travis.yml

242 lines
5.4 KiB
YAML

# DO NOT MODIFY. THIS FILE IS AUTOGENERATED #
---
dist: xenial
language: minimal
services:
- docker
.before_script: &auto_skip
- |
if [ "false" != "$TRAVIS_PULL_REQUEST" ]; then
TRAVIS_COMMIT_RANGE="$TRAVIS_BRANCH..$TRAVIS_PULL_REQUEST_SHA"
fi
if [ "default" = "$VARIANT" ]; then
Dockerfile="$NODE_VERSION/Dockerfile"
else
Dockerfile="$NODE_VERSION/$VARIANT/Dockerfile"
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: '$TRAVIS_COMMIT_RANGE'"
elif git diff --name-only "$TRAVIS_COMMIT_RANGE" -- | grep -Eq "^$Dockerfile$"; then
echo "Change of $Dockerfile detected."
else
echo "Skip build of $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:
fast_finish: true
allow_failures:
- env:
- TEST=mardown_lint
include:
- stage: Test
name: Markdown link check
env:
- TEST=mardown_lint
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
name: Editor Config check
language: node_js
node_js:
- lts/*
install:
- npm i -g eclint
script:
- eclint check
- stage: Test
name: 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
name: shfmt check
script:
- docker run -it --rm -v "$(pwd)":/sh -w /sh peterdavehello/shfmt:2.6.3 shfmt -sr -i 2 -l -w -ci .
- git diff --color
- git diff --stat=220 --color --exit-code
- stage: Test
name: Shell Check
script: shellcheck *.sh
- stage: Test
name: .travis.yml and travis.yml.template consistency
script:
- ./update.sh -t
- git diff --stat --exit-code .travis.yml
- stage: Deploy
before_script:
- |
if ! git diff --name-only "$TRAVIS_COMMIT_RANGE" -- | grep -Eq "Dockerfile$"; then
echo "Skip deployment as none of the Dockerfiles has been changed."
exit
fi
script:
- ./generate-stackbrew-pr.sh "$TRAVIS_COMMIT_RANGE"
# Docker Build #
- stage: Build
before_script: *auto_skip
name: 10 on jessie
env:
- NODE_VERSION="10"
- VARIANT="jessie"
- stage: Build
before_script: *auto_skip
name: 10 on jessie-slim
env:
- NODE_VERSION="10"
- VARIANT="jessie-slim"
- stage: Build
before_script: *auto_skip
name: 10 on alpine
env:
- NODE_VERSION="10"
- VARIANT="alpine"
- stage: Build
before_script: *auto_skip
name: 10 on stretch
env:
- NODE_VERSION="10"
- VARIANT="stretch"
- stage: Build
before_script: *auto_skip
name: 10 on stretch-slim
env:
- NODE_VERSION="10"
- VARIANT="stretch-slim"
- stage: Build
before_script: *auto_skip
name: 11 on alpine
env:
- NODE_VERSION="11"
- VARIANT="alpine"
- stage: Build
before_script: *auto_skip
name: 11 on stretch
env:
- NODE_VERSION="11"
- VARIANT="stretch"
- stage: Build
before_script: *auto_skip
name: 11 on stretch-slim
env:
- NODE_VERSION="11"
- VARIANT="stretch-slim"
- stage: Build
before_script: *auto_skip
name: 12 on alpine
env:
- NODE_VERSION="12"
- VARIANT="alpine"
- stage: Build
before_script: *auto_skip
name: 12 on stretch
env:
- NODE_VERSION="12"
- VARIANT="stretch"
- stage: Build
before_script: *auto_skip
name: 12 on stretch-slim
env:
- NODE_VERSION="12"
- VARIANT="stretch-slim"
- stage: Build
before_script: *auto_skip
name: 8 on jessie
env:
- NODE_VERSION="8"
- VARIANT="jessie"
- stage: Build
before_script: *auto_skip
name: 8 on jessie-slim
env:
- NODE_VERSION="8"
- VARIANT="jessie-slim"
- stage: Build
before_script: *auto_skip
name: 8 on alpine
env:
- NODE_VERSION="8"
- VARIANT="alpine"
- stage: Build
before_script: *auto_skip
name: 8 on onbuild
env:
- NODE_VERSION="8"
- VARIANT="onbuild"
- stage: Build
before_script: *auto_skip
name: 8 on stretch
env:
- NODE_VERSION="8"
- VARIANT="stretch"
- stage: Build
before_script: *auto_skip
name: 8 on stretch-slim
env:
- NODE_VERSION="8"
- VARIANT="stretch-slim"
- stage: Build
before_script: *auto_skip
name: chakracore/10 on default
env:
- NODE_VERSION="chakracore/10"
- VARIANT="default"
- stage: Build
before_script: *auto_skip
name: chakracore/8 on default
env:
- NODE_VERSION="chakracore/8"
- VARIANT="default"