prophunt-garrysmod/test/testBuild.sh
2021-11-08 23:42:31 +01:00

45 lines
1.1 KiB
Bash

#!/bin/bash
readonly SUFFIX="$1"
readonly BUILD_TTT="$(grep -qF -e '--skip-ttt' <<< "$@" && echo false || echo true)"
readonly PUSH="$(grep -qF -e '--push' <<< "$@" && echo true || echo false)"
readonly repository="${DOCKER_REPO:-jusito/docker-ttt}"
if [ "${DEBUGGING}" = "true" ]; then
set -o xtrace
else
DEBUGGING="false"
fi
set -o errexit
set -o nounset
set -o pipefail
function process() {
tag_prefix="$1"
target="$2"
cache_option="$(grep -qF -e '--no-cache' <<< "$@" && echo "--no-cache" || echo "")"
docker rmi "$repository:$tag_prefix${SUFFIX}" || true
docker build --target "$target" $cache_option -t "$repository:$tag_prefix${SUFFIX}" .
if "$PUSH"; then
docker push "$repository:$tag_prefix${SUFFIX}"
fi
}
echo "[testBuild][INFO] build"
process "lgsm_debian" "lgsm" --no-cache
process "gmod_debian" "gmod"
if "$BUILD_TTT"; then
process "gmod_ttt_debian" "TTT"
fi
docker rmi "$repository:latest${SUFFIX}" || true
docker tag "$repository:gmod_ttt_debian${SUFFIX}" "$repository:latest${SUFFIX}"
if "$PUSH"; then
docker push "$repository:latest${SUFFIX}"
fi
echo "[testBuild][INFO] build done!"