Switched CI image building to Dockerfile while still using buildah.

This commit is contained in:
Heiko Reese
2021-10-07 23:49:46 +02:00
parent ea589221b4
commit 05ef7c4467
2 changed files with 51 additions and 32 deletions

View File

@ -29,7 +29,15 @@ while getopts "r:u:p:b:t:" OPTION; do
TAG="${OPTARG}"
;;
*)
echo "Invalid argument"
echo "Usage: $0 [OPTIONS]"
echo
echo "Options:"
echo " -r <registry> (default: \"${REGISTRY}\")"
echo " -u <username> (default: \"${USERNAME}\")"
echo " -p <password> (default: \"${PASSWORD}\")"
echo " -b <basename> (default: \"${BASENAME}\")"
echo " -t <tag> (default: \"${TAG}\")"
echo
exit 127
esac
done
@ -47,39 +55,21 @@ for i in "${images[@]}"; do
name=$(echo "${i}" | cut -d'|' -f2)
IMAGENAME="${BASENAME}-${name}"
IIDFILE=".${IMAGENAME}.iid"
IMAGETAG="${BASENAME}-${name}:${TAG}"
TARGET="${REGISTRY}/${IMAGETAG}"
echo "🔨 Assembling »${IMAGENAME}«"
ctr="$(buildah from "$basectr")"
buildah run "$ctr" /bin/sh -c 'apt-get update; \
DEBIAN_FRONTEND=noninteractive DEBIAN_PRIORITY=critical apt-get install --no-install-recommends -y \
build-essential \
exim4-daemon-heavy \
exim4-dev \
gcovr \
git \
libsodium-dev \
openssl \
pkg-config \
python3-pip \
libxml2-utils; \
DEBIAN_FRONTEND=noninteractive DEBIAN_PRIORITY=critical apt-get install --no-install-recommends -y \
debhelper \
debsigs \
devscripts \
dh-make \
git-buildpackage \
gpgv1 \
meson; \
DEBIAN_FRONTEND=noninteractive DEBIAN_PRIORITY=critical apt-get install --no-install-recommends -y \
vim; \
rm -rf /var/lib/apt/lists/*;'
buildah run "$ctr" /bin/sh -c \
'pip3 install --upgrade meson ninja; \
rm -rf ~/.cache/pip/*;'
TARGET="${REGISTRY}/${BASENAME}-${name}:${TAG}"
IMAGEID=$(buildah commit --format docker "$ctr" "${IMAGENAME}")
buildah build-using-dockerfile \
--from "${basectr}" \
--format docker \
--iidfile "${IIDFILE}" \
--tag "${IMAGETAG}"
if [ "${REGISTRY}" != "none" ]; then
echo "🚀 Pushing »${TARGET}«"
buildah push "${IMAGEID}" "${TARGET}"
echo "🚀 Pushing »${IMAGETAG}« to »${TARGET}«"
buildah push "${IMAGETAG}" "${TARGET}"
echo "✅ Finished »${BASENAME}«"
fi
rm -f "${IIDFILE}"
done