#!/bin/bash # Determine if it is Mac OS and switch to use gxargs instead CMD=xargs if [ $(which system_profiler) ]; then CMD=gxargs fi # Bring in the variables from SOLUTION file, supporting # nested substitution . SOLUTION . MANIFEST export $(sed -nE "s,(^[^#][^=]*).*$,\1,pg" SOLUTION | ${CMD} -d '\n') export $(sed -nE "s,(^[^#][^=]*).*$,\1,pg" MANIFEST | ${CMD} -d '\n') AGAMA_VERSION=${AGAMA_VERSION:-N/A} [[ "${AGAMA_VERSION}" == "N/A" ]] && { TAG=${TAG:-test-build-${PACKAGE_STREAM}-$(date +%Y%m%d)} } || { TAG=${TAG:-test-agama-${AGAMA_VERSION}} } case "${OS_DISTRO}" in rhel) SOLUTION_SUFFIX=".rhel-8.0" ;; ubuntu) SOLUTION_SUFFIX="" ;; *) echo "Unrecognized OS_DISTRO: '${OS_DISTRO}'" exit -1 ;; esac export DOCKERFILE="Dockerfile${SOLUTION_SUFFIX}" export SOLUTION="Dockerfile.solution${SOLUTION_SUFFIX}" docker build -t ${CONTAINER}:${TAG} -f ${DOCKERFILE} . $* || { cat << EOM Building docker image from ${DOCKERFILE} failed. EOM exit -1 } docker tag ${CONTAINER}:${TAG} ${CONTAINER} || { echo "Unable to tag docker image" exit -1 } cat << EOM ${DOCKERFILE} was built and locally tagged as ${CONTAINER}:${TAG} See 'scripts/push-images' for information on pushing this tag to Harbor. EOM