infra/dev: env_value defaults match compose, die helper, shared Gradle lock check; drop unused RCLONE_REMOTE and M2a leftovers; fix stale Pi compose path

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01TQd3pEP9UeN2uifbHknQ7B
This commit is contained in:
2026-10-18 22:11:07 +02:00
parent 61f92c81c5
commit fc6126c6af
7 changed files with 25 additions and 37 deletions
+7 -11
View File
@@ -1,30 +1,26 @@
#!/usr/bin/env bash
# Builds the development images on this Mac (native linux/arm64, nothing pushed):
# kvitt-server:dev from server/Dockerfile (milestone M2a)
# kvitt-server:dev from server/Dockerfile
# kvitt-backup:dev from infra/backup/Dockerfile
# Usage: infra/dev/build.sh [server|backup|all] (default: all)
# Refuses to run while a Gradle build holds the gradle-serial lock (CLAUDE.md: never build images during a Gradle build).
set -euo pipefail
# shellcheck source=lib.sh
. "$(dirname "$0")/lib.sh"
# shellcheck source=../../tools/gradle-lock.sh
. "$repo_root/tools/gradle-lock.sh"
what="${1:-all}"
lock=/tmp/kvitt-gradle.lock
if [[ -d "$lock" ]] && pid="$(cat "$lock/pid" 2>/dev/null)" && [[ -n "$pid" ]] && kill -0 "$pid" 2>/dev/null; then
echo "build.sh: a Gradle build is running (pid $pid, $lock); try again when it is done." >&2
exit 1
if pid="$(gradle_lock_holder)"; then
die "a Gradle build is running (pid $pid, $KVITT_GRADLE_LOCK); try again when it is done."
fi
server_image="$(env_value KVITT_SERVER_IMAGE)"; server_image="${server_image:-kvitt-server:dev}"
backup_image="$(env_value KVITT_BACKUP_IMAGE)"; backup_image="${backup_image:-kvitt-backup:dev}"
server_image="$(env_value KVITT_SERVER_IMAGE kvitt-server:dev)"
backup_image="$(env_value KVITT_BACKUP_IMAGE kvitt-backup:dev)"
build_server() {
local dockerfile="$repo_root/server/Dockerfile"
local context="${KVITT_SERVER_BUILD_CONTEXT:-$repo_root/server}"
if [[ ! -f "$dockerfile" ]]; then
echo "build.sh: $dockerfile does not exist yet (it comes with milestone M2a)." >&2
return 1
fi
echo "Building $server_image from server/Dockerfile"
docker build --platform linux/arm64 -f "$dockerfile" -t "$server_image" "$context"
}