blob: c228c397120273adc815a17ff336b38d4377bce4 [file]
#!/usr/bin/env bash
# SPDX-License-Identifier: GPL-2.0-or-later
# Copyright (C) 2024-2026 Jarkko Sakkinen <jarkko@kernel.org>
set -euo pipefail
CONTAINER=${CONTAINER:-docker}
CONTAINER_CPUS=${CONTAINER_CPUS:-8}
CONTAINER_MEMORY=${CONTAINER_MEMORY:-16G}
container_kind=$(basename -- "${CONTAINER}")
build_args=(--tag tpmdd-builder:latest)
if [ "${container_kind}" = container ]; then
"${CONTAINER}" system status >/dev/null 2>&1 || "${CONTAINER}" system start
build_args=(
--cpus "${CONTAINER_CPUS}"
--memory "${CONTAINER_MEMORY}"
"${build_args[@]}"
)
fi
cd -- "$(dirname -- "${BASH_SOURCE[0]}")/.."
for volume in tpmdd-build tpmdd-cache; do
"${CONTAINER}" volume inspect "${volume}" >/dev/null 2>&1 ||
"${CONTAINER}" volume create "${volume}" >/dev/null
done
run_args=(--env OUTPUT_DIR=/build)
for var in $(compgen -v TPMDD_); do
run_args+=(--env "${var}")
done
"${CONTAINER}" build "${build_args[@]}" .
"${CONTAINER}" run \
-d \
--init \
--cpus "${CONTAINER_CPUS}" \
--memory "${CONTAINER_MEMORY}" \
"${run_args[@]}" \
--volume "${PWD}:/workspace" \
--volume tpmdd-build:/build \
--volume tpmdd-cache:/cache \
tpmdd-builder:latest