💄 Cleanup and hide warnings
This commit is contained in:
parent
6a01a3379d
commit
8f001adef4
|
@ -1,17 +1,18 @@
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
# Builds all published branches
|
||||||
|
|
||||||
ORIGINAL_GITHUB_REPO="digitalocean/netbox"
|
ORIGINAL_GITHUB_REPO="digitalocean/netbox"
|
||||||
GITHUB_REPO="${GITHUB_REPO-$ORIGINAL_GITHUB_REPO}"
|
GITHUB_REPO="${GITHUB_REPO-$ORIGINAL_GITHUB_REPO}"
|
||||||
URL_RELEASES="https://api.github.com/repos/${GITHUB_REPO}/branches"
|
URL_RELEASES="https://api.github.com/repos/${GITHUB_REPO}/branches"
|
||||||
|
|
||||||
CURL_OPTS="-s"
|
CURL="curl -sS"
|
||||||
CURL="curl ${CURL_OPTS}"
|
|
||||||
|
|
||||||
BRANCHES=$($CURL "${URL_RELEASES}" | jq -r 'map(.name) | .[] | scan("^[^v].+")')
|
BRANCHES=$($CURL "${URL_RELEASES}" | jq -r 'map(.name) | .[] | scan("^[^v].+")')
|
||||||
|
|
||||||
VARIANTS=( "ldap" )
|
VARIANTS=( "ldap" )
|
||||||
|
|
||||||
for BRANCH in $BRANCHES; do
|
for BRANCH in $BRANCHES; do
|
||||||
|
# shellcheck disable=SC2068
|
||||||
./build.sh "${BRANCH}" $@
|
./build.sh "${BRANCH}" $@
|
||||||
for var in "${VARIANTS[@]}" ; do
|
for var in "${VARIANTS[@]}" ; do
|
||||||
VARIANT=$var ./build.sh "${BRANCH}" $@
|
VARIANT=$var ./build.sh "${BRANCH}" $@
|
||||||
|
|
|
@ -1,4 +1,5 @@
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
# Builds the latest released version
|
||||||
|
|
||||||
ORIGINAL_GITHUB_REPO="digitalocean/netbox"
|
ORIGINAL_GITHUB_REPO="digitalocean/netbox"
|
||||||
GITHUB_REPO="${GITHUB_REPO-$ORIGINAL_GITHUB_REPO}"
|
GITHUB_REPO="${GITHUB_REPO-$ORIGINAL_GITHUB_REPO}"
|
||||||
|
@ -6,25 +7,28 @@ URL_RELEASES="https://api.github.com/repos/${GITHUB_REPO}/releases"
|
||||||
|
|
||||||
JQ_LATEST="group_by(.prerelease) | .[] | sort_by(.published_at) | reverse | .[0] | select(.prerelease==${PRERELEASE-false}) | .tag_name"
|
JQ_LATEST="group_by(.prerelease) | .[] | sort_by(.published_at) | reverse | .[0] | select(.prerelease==${PRERELEASE-false}) | .tag_name"
|
||||||
|
|
||||||
CURL_OPTS="-s"
|
CURL="curl -sS"
|
||||||
CURL="curl ${CURL_OPTS}"
|
|
||||||
|
|
||||||
VERSION=$($CURL "${URL_RELEASES}" | jq -r "${JQ_LATEST}")
|
VERSION=$($CURL "${URL_RELEASES}" | jq -r "${JQ_LATEST}")
|
||||||
|
|
||||||
# Check if the prerelease version is actually higher than stable version
|
# Check if the prerelease version is actually higher than stable version
|
||||||
if [ "${PRERELEASE}" == "true" ]; then
|
if [ "${PRERELEASE}" == "true" ]; then
|
||||||
JQ_STABLE="group_by(.prerelease) | .[] | sort_by(.published_at) | reverse | .[0] | select(.prerelease==false) | .tag_name"
|
JQ_STABLE="group_by(.prerelease) | .[] | sort_by(.published_at) | reverse | .[0] | select(.prerelease==false) | .tag_name"
|
||||||
STABLE_VERSION=$(curl $CURL_OPTS "${URL_RELEASES}" | jq -r "${JQ_STABLE}")
|
STABLE_VERSION=$($CURL "${URL_RELEASES}" | jq -r "${JQ_STABLE}")
|
||||||
|
|
||||||
|
# shellcheck disable=SC2003
|
||||||
MAJOR_STABLE=$(expr match "${STABLE_VERSION}" 'v\([0-9]\+\)')
|
MAJOR_STABLE=$(expr match "${STABLE_VERSION}" 'v\([0-9]\+\)')
|
||||||
|
# shellcheck disable=SC2003
|
||||||
MINOR_STABLE=$(expr match "${STABLE_VERSION}" 'v[0-9]\+\.\([0-9]\+\)')
|
MINOR_STABLE=$(expr match "${STABLE_VERSION}" 'v[0-9]\+\.\([0-9]\+\)')
|
||||||
|
# shellcheck disable=SC2003
|
||||||
MAJOR_UNSTABLE=$(expr match "${VERSION}" 'v\([0-9]\+\)')
|
MAJOR_UNSTABLE=$(expr match "${VERSION}" 'v\([0-9]\+\)')
|
||||||
|
# shellcheck disable=SC2003
|
||||||
MINOR_UNSTABLE=$(expr match "${VERSION}" 'v[0-9]\+\.\([0-9]\+\)')
|
MINOR_UNSTABLE=$(expr match "${VERSION}" 'v[0-9]\+\.\([0-9]\+\)')
|
||||||
|
|
||||||
if ( [ "$MAJOR_STABLE" -eq "$MAJOR_UNSTABLE" ] && [ "$MINOR_STABLE" -ge "$MINOR_UNSTABLE" ] ) \
|
if ( [ "$MAJOR_STABLE" -eq "$MAJOR_UNSTABLE" ] && [ "$MINOR_STABLE" -ge "$MINOR_UNSTABLE" ] ) \
|
||||||
|| [ "$MAJOR_STABLE" -gt "$MAJOR_UNSTABLE" ]; then
|
|| [ "$MAJOR_STABLE" -gt "$MAJOR_UNSTABLE" ]; then
|
||||||
echo "Latest unstable version ('$VERSION') is not higher than the latest stable version ('$STABLE_VERSION')."
|
|
||||||
exit 0
|
exit 0
|
||||||
|
echo "❎ Latest unstable version ('$VERSION') is not higher than the latest stable version ('$STABLE_VERSION')."
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
@ -41,6 +45,7 @@ ALREADY_BUILT="$($CURL -H "${AUTHORIZATION_HEADER}" "${URL_DOCKERHUB_TAG}" | jq
|
||||||
VARIANTS=( "ldap" )
|
VARIANTS=( "ldap" )
|
||||||
|
|
||||||
if [ "$ALREADY_BUILT" == "false" ]; then
|
if [ "$ALREADY_BUILT" == "false" ]; then
|
||||||
|
# shellcheck disable=SC2068
|
||||||
./build.sh "${VERSION}" $@
|
./build.sh "${VERSION}" $@
|
||||||
for var in "${VARIANTS[@]}" ; do
|
for var in "${VARIANTS[@]}" ; do
|
||||||
VARIANT=$var ./build.sh "${VERSION}" $@
|
VARIANT=$var ./build.sh "${VERSION}" $@
|
||||||
|
|
40
build.sh
40
build.sh
|
@ -1,4 +1,5 @@
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
# Builds the Dockerfile[.variant] and injects tgz'ed Netbox code from Github
|
||||||
|
|
||||||
set -e
|
set -e
|
||||||
|
|
||||||
|
@ -71,6 +72,14 @@ case "${BRANCH}" in
|
||||||
esac
|
esac
|
||||||
DOCKER_TAG="${DOCKER_TAG-${DOCKER_ORG}/${DOCKER_REPO}:${TAG}}"
|
DOCKER_TAG="${DOCKER_TAG-${DOCKER_ORG}/${DOCKER_REPO}:${TAG}}"
|
||||||
|
|
||||||
|
# caching is only ok for version tags
|
||||||
|
case "${TAG}" in
|
||||||
|
v*)
|
||||||
|
CACHE="${CACHE-}";;
|
||||||
|
*)
|
||||||
|
CACHE="${CACHE---no-cache}";;
|
||||||
|
esac
|
||||||
|
|
||||||
# Checking which VARIANT to build
|
# Checking which VARIANT to build
|
||||||
if [ -z "$VARIANT" ]; then
|
if [ -z "$VARIANT" ]; then
|
||||||
DOCKERFILE="Dockerfile"
|
DOCKERFILE="Dockerfile"
|
||||||
|
@ -83,23 +92,32 @@ else
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# caching is only ok for version tags
|
|
||||||
case "${TAG}" in
|
|
||||||
v*)
|
|
||||||
CACHE="${CACHE-}";;
|
|
||||||
*)
|
|
||||||
CACHE="${CACHE---no-cache}";;
|
|
||||||
esac
|
|
||||||
|
|
||||||
# Docker options
|
# Docker options
|
||||||
DOCKER_OPTS="${DOCKER_OPTS-$CACHE}"
|
DOCKER_OPTS=(
|
||||||
|
"$CACHE"
|
||||||
|
--pull
|
||||||
|
)
|
||||||
|
|
||||||
|
# Build args
|
||||||
|
DOCKER_BUILD_ARGS=(
|
||||||
|
--build-arg "FROM_TAG=${TAG}"
|
||||||
|
--build-arg "BRANCH=${BRANCH}"
|
||||||
|
--build-arg "URL=${URL}"
|
||||||
|
)
|
||||||
|
|
||||||
|
if [ -z "$DRY_RUN" ]; then
|
||||||
|
DOCKER_CMD="docker"
|
||||||
|
else
|
||||||
|
echo "⚠️ DRY_RUN MODE ON ⚠️"
|
||||||
|
DOCKER_CMD="echo docker"
|
||||||
|
fi
|
||||||
|
|
||||||
echo "🐳 Building the Docker image '${DOCKER_TAG}' from the url '${URL}'."
|
echo "🐳 Building the Docker image '${DOCKER_TAG}' from the url '${URL}'."
|
||||||
docker build -t "${DOCKER_TAG}" --build-arg "FROM_TAG=${TAG}" --build-arg "BRANCH=${BRANCH}" --build-arg "URL=${URL}" --pull ${DOCKER_OPTS} -f ${DOCKERFILE} .
|
$DOCKER_CMD build -t "${DOCKER_TAG}" "${DOCKER_BUILD_ARGS[@]}" "${DOCKER_OPTS[@]}" -f "${DOCKERFILE}" .
|
||||||
echo "✅ Finished building the Docker images '${DOCKER_TAG}'"
|
echo "✅ Finished building the Docker images '${DOCKER_TAG}'"
|
||||||
|
|
||||||
if [ "${2}" == "--push" ] ; then
|
if [ "${2}" == "--push" ] ; then
|
||||||
echo "⏫ Pushing '${DOCKER_TAG}"
|
echo "⏫ Pushing '${DOCKER_TAG}"
|
||||||
docker push "${DOCKER_TAG}"
|
$DOCKER_CMD push "${DOCKER_TAG}"
|
||||||
echo "✅ Finished pushing the Docker image '${DOCKER_TAG}'."
|
echo "✅ Finished pushing the Docker image '${DOCKER_TAG}'."
|
||||||
fi
|
fi
|
||||||
|
|
Loading…
Reference in New Issue