#!/usr/bin/env bash # dnes-konzdat-sync: Automatically rebuilds and deploys Konzdat whenever ~/src/dnes updates set -euo pipefail LOCK_FILE="/tmp/dnes-konzdat-sync.lock" exec 201>"$LOCK_FILE" if ! flock -n 201; then exit 0 fi KONZDAT_DIR="$HOME/src/konzdat" SAMIZDAT_BIN="$KONZDAT_DIR/bin/samizdat" if [ ! -x "$SAMIZDAT_BIN" ]; then exit 0 fi WEEK_NUM=$(date +%-V) ISSUE_CODE="W$WEEK_NUM" echo "[dnes-konzdat-sync] Updating Konzdat ($ISSUE_CODE) from latest dnes entries..." cd "$KONZDAT_DIR" "$SAMIZDAT_BIN" build "$ISSUE_CODE" >/dev/null 2>&1 || true # Commit and push to boxC if there are changes git add -A >/dev/null 2>&1 || true if ! git diff-index --quiet HEAD -- 2>/dev/null; then NOW_STR=$(date '+%Y-%m-%d %H:%M:%S') git commit -m "dnes-sync($ISSUE_CODE): auto-update from dnes journal [$NOW_STR]" >/dev/null 2>&1 || true git push origin main >/dev/null 2>&1 || true echo "[dnes-konzdat-sync] Successfully synchronized and deployed to http://pešek.com/konzdat/" fi