From 626195d00f1953f62909cd3080b31de7f4e384ae Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Christian=20Ma=CC=88der?= Date: Tue, 10 Apr 2018 10:37:27 +0200 Subject: [PATCH] =?UTF-8?q?=E2=9A=99=EF=B8=8F=20Parallel=20builds?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .travis.yml | 6 ++++++ build-all.sh | 58 +++++++++++++++++++++++++++++++++++++--------------- 2 files changed, 48 insertions(+), 16 deletions(-) diff --git a/.travis.yml b/.travis.yml index 484a947..2dac8f3 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,6 +1,12 @@ sudo: required language: python +env: + - BUILD=release + - BUILD=prerelease + - BUILD=branches + - BUILD=special + git: depth: 5 diff --git a/build-all.sh b/build-all.sh index dcff779..aa06b71 100755 --- a/build-all.sh +++ b/build-all.sh @@ -1,5 +1,14 @@ #!/bin/bash # Builds all Docker images this project provides +# Arguments: +# BUILD: The release to build. +# Allowed: release, prerelease, branches, special +# Default: undefined + +ALL_BUILDS=("release" "prerelease" "branches" "special") +BUILDS=("${BUILD:-"${ALL_BUILDS[@]}"}") + +echo "⚙️ Configured builds: ${BUILDS[*]}" VARIANTS=("" "ldap") @@ -35,23 +44,40 @@ if [ ! -z "${DEBUG}" ] || \ fi fi - echo "🛠 Building '$DOCKERFILE'" + for BUILD in "${BUILDS[@]}"; do + echo "🛠 Building '$BUILD' from '$DOCKERFILE'" + case $BUILD in + release) + # build the latest release + # shellcheck disable=SC2068 + ./build-latest.sh $@ || ERROR=1 + ;; + prerelease) + # build the latest pre-release + # shellcheck disable=SC2068 + PRERELEASE=true ./build-latest.sh $@ || ERROR=1 + ;; + branches) + # build all branches + # shellcheck disable=SC2068 + ./build-branches.sh $@ || ERROR=1 + ;; + special) + # special build + # shellcheck disable=SC2068 + SRC_ORG=lampwins TAG=webhooks-backend ./build.sh "feature/webhooks-backend" $@ || ERROR=1 + ;; + *) + echo "🚨 Unrecognized build '$BUILD'." - # build the latest release - # shellcheck disable=SC2068 - ./build-latest.sh $@ || ERROR=1 - - # build the latest pre-release - # shellcheck disable=SC2068 - PRERELEASE=true ./build-latest.sh $@ || ERROR=1 - - # build all branches - # shellcheck disable=SC2068 - ./build-branches.sh $@ || ERROR=1 - - # special build - # shellcheck disable=SC2068 - SRC_ORG=lampwins TAG=webhooks-backend ./build.sh "feature/webhooks-backend" $@ || ERROR=1 + if [ -z "$DEBUG" ]; then + exit 1 + else + echo "⚠️ Would exit here with code '1', but DEBUG is enabled." + fi + ;; + esac + done done else echo "❎ Not building anything."