39 lines
1.4 KiB
Bash
Executable File
39 lines
1.4 KiB
Bash
Executable File
#!/bin/bash
|
|
set -e
|
|
|
|
[[ -v ${CONTAINERD_REGISTRY_HOST} ]] || CONTAINERD_REGISTRY_HOST=docker.inteligr8.com
|
|
[[ -v ${CONTAINERD_IMAGE_NAMESPACE} ]] || CONTAINERD_IMAGE_NAMESPACE=inteligr8/
|
|
[[ -v ${CONTAINERD_IMAGE_NAME} ]] || CONTAINERD_IMAGE_NAME=base-runner
|
|
[[ -v ${CONTAINERD_CMD} ]] || CONTAINERD_CMD=buildah
|
|
[[ -v ${CONTAINERD_BUILD_FORMAT} ]] || CONTAINERD_BUILD_FORMAT=docker
|
|
[[ -v ${DEBIAN_VERSION} ]] || DEBIAN_VERSION=stable-20260824
|
|
|
|
if [[ -v ${CONTAINERD_DEBUG} ]]; then
|
|
SKOPEO_OPTS="${SKOPEO_OPTS} --debug"
|
|
CONTAINERD_CMD_OPTS="${CONTAINERD_CMD_OPTS} --log-level=debug"
|
|
fi
|
|
|
|
GIT_COMMIT_SHORT_SHA=$(git rev-parse --short HEAD)
|
|
CONTAINERD_IMAGE_REMOTE_NAME=${CONTAINERD_REGISTRY_HOST}/${CONTAINERD_IMAGE_NAMESPACE}${CONTAINERD_IMAGE_NAME}
|
|
|
|
set +e
|
|
skopeo ${SKOPEO_OPTS} inspect docker://${CONTAINERD_IMAGE_REMOTE_NAME}:sha${GIT_COMMIT_SHORT_SHA}
|
|
SKOPEO_INSPECT_RC=$?
|
|
set -e
|
|
|
|
if (( ${SKOPEO_INSPECT_RC} == 0 )); then
|
|
echo "Container image already built; skipping rebuild"
|
|
else
|
|
THISDIR=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )
|
|
cd ${THISDIR}/../containerd
|
|
|
|
echo "Building container image"
|
|
${CONTAINERD_CMD} ${CONTAINERD_CMD_OPTS} build \
|
|
--format=${CONTAINERD_BUILD_FORMAT} \
|
|
${CONTAINERD_BUILD_OPTS} \
|
|
--build-arg DEBIAN_VERSION=${DEBIAN_VERSION} \
|
|
--tag ${CONTAINERD_IMAGE_REMOTE_NAME}:sha${GIT_COMMIT_SHORT_SHA}
|
|
|
|
cd -
|
|
fi
|