blob: 9de260986ea0dbb81dd4b21a37a6bacaf9a901de [file]
#!/usr/bin/env bash
# Targets macOS and Linux. Run with: ./docker.sh or bash docker.sh
set -euo pipefail
if [ -z "${BASH_VERSINFO+x}" ]; then
echo "This script requires bash. Run with: bash $0" >&2
exit 1
fi
trap 'echo "Error: $0 failed at line $LINENO. Command: $BASH_COMMAND" >&2; exit 1' ERR
IMAGE=age-doc
HASH_FILE=".docker.buildhash"
if command -v sha256sum >/dev/null 2>&1; then
HASH_CMD="sha256sum"
else
HASH_CMD="shasum -a 256"
fi
NEW_HASH=$(
$HASH_CMD docker/Dockerfile requirements.txt | $HASH_CMD | awk '{print $1}'
)
if [ ! -f "$HASH_FILE" ] || [ "$NEW_HASH" != "$(cat "$HASH_FILE")" ]; then
docker build -f docker/Dockerfile -t "$IMAGE" .
echo "$NEW_HASH" > "$HASH_FILE"
fi
docker run --rm -v "$PWD":/app -w /app "$IMAGE" sphinx-multiversion docs build/html