Files

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