⚙️ Parallel builds

This commit is contained in:
Christian Mäder 2018-04-10 10:37:27 +02:00
parent 8ffe6529c9
commit 626195d00f
No known key found for this signature in database
GPG Key ID: 92FFD0A711F196BB
2 changed files with 48 additions and 16 deletions

View File

@ -1,6 +1,12 @@
sudo: required sudo: required
language: python language: python
env:
- BUILD=release
- BUILD=prerelease
- BUILD=branches
- BUILD=special
git: git:
depth: 5 depth: 5

View File

@ -1,5 +1,14 @@
#!/bin/bash #!/bin/bash
# Builds all Docker images this project provides # 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") VARIANTS=("" "ldap")
@ -35,23 +44,40 @@ if [ ! -z "${DEBUG}" ] || \
fi fi
fi fi
echo "🛠 Building '$DOCKERFILE'" for BUILD in "${BUILDS[@]}"; do
echo "🛠 Building '$BUILD' from '$DOCKERFILE'"
case $BUILD in
release)
# build the latest release # build the latest release
# shellcheck disable=SC2068 # shellcheck disable=SC2068
./build-latest.sh $@ || ERROR=1 ./build-latest.sh $@ || ERROR=1
;;
prerelease)
# build the latest pre-release # build the latest pre-release
# shellcheck disable=SC2068 # shellcheck disable=SC2068
PRERELEASE=true ./build-latest.sh $@ || ERROR=1 PRERELEASE=true ./build-latest.sh $@ || ERROR=1
;;
branches)
# build all branches # build all branches
# shellcheck disable=SC2068 # shellcheck disable=SC2068
./build-branches.sh $@ || ERROR=1 ./build-branches.sh $@ || ERROR=1
;;
special)
# special build # special build
# shellcheck disable=SC2068 # shellcheck disable=SC2068
SRC_ORG=lampwins TAG=webhooks-backend ./build.sh "feature/webhooks-backend" $@ || ERROR=1 SRC_ORG=lampwins TAG=webhooks-backend ./build.sh "feature/webhooks-backend" $@ || ERROR=1
;;
*)
echo "🚨 Unrecognized build '$BUILD'."
if [ -z "$DEBUG" ]; then
exit 1
else
echo "⚠️ Would exit here with code '1', but DEBUG is enabled."
fi
;;
esac
done
done done
else else
echo "❎ Not building anything." echo "❎ Not building anything."