Files
microdao-daarion/scripts/docs/run_docs_maintenance.sh

63 lines
1.3 KiB
Bash
Executable File

#!/usr/bin/env bash
set -euo pipefail
ROOT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")/../.." && pwd)"
LOG_DIR="$ROOT_DIR/docs/consolidation/logs"
STAMP="$(date +%Y%m%d-%H%M%S)"
LOG_FILE="$LOG_DIR/docs_maintenance_${STAMP}.log"
LATEST_LOG="$LOG_DIR/docs_maintenance_latest.log"
DRY_RUN=0
usage() {
cat <<'USAGE'
Usage:
bash scripts/docs/run_docs_maintenance.sh [--dry-run]
Steps:
1) services sync (--apply or --dry-run)
2) docs lint
No git push is performed.
USAGE
}
while [[ $# -gt 0 ]]; do
case "$1" in
--dry-run)
DRY_RUN=1
shift
;;
-h|--help)
usage
exit 0
;;
*)
echo "Unknown arg: $1" >&2
usage
exit 2
;;
esac
done
mkdir -p "$LOG_DIR"
{
echo "[docs-maintenance] started: $(date -u '+%Y-%m-%d %H:%M:%S UTC')"
echo "[docs-maintenance] repo: $ROOT_DIR"
if [[ "$DRY_RUN" -eq 1 ]]; then
echo "[docs-maintenance] mode: dry-run"
bash "$ROOT_DIR/scripts/docs/services_sync.sh" --dry-run
else
echo "[docs-maintenance] mode: apply"
bash "$ROOT_DIR/scripts/docs/services_sync.sh" --apply
fi
echo "[docs-maintenance] lint start"
bash "$ROOT_DIR/scripts/docs/docs_lint.sh"
echo "[docs-maintenance] success"
} > "$LOG_FILE" 2>&1
cp "$LOG_FILE" "$LATEST_LOG"
echo "Wrote: $LOG_FILE"
echo "Updated: $LATEST_LOG"