#!/usr/bin/env sh # Regenerate CHANGELOG.md from Conventional Commits using git-cliff (D20). # Install once: pip install git-cliff (ships prebuilt binaries) # Usage: packaging/changelog.sh [--tag vX.Y.Z] set -eu ROOT=$(CDPATH= cd -- "$(dirname -- "$0")/.." && pwd) cd "$ROOT" command -v git-cliff >/dev/null 2>&1 || { echo "git-cliff not found. Install it: pip install git-cliff" exit 1 } if [ "${1:-}" = "--tag" ] && [ -n "${2:-}" ]; then git-cliff --tag "$2" -o CHANGELOG.md else git-cliff -o CHANGELOG.md fi echo "Wrote CHANGELOG.md"