ref:main
#!/usr/bin/env bash
set -euo pipefail
# Compute next CalVer version: YYYY.MM.BUILD
# Reads latest Anvil release tag, increments build number
# Resets build to 1 on new month
# Defaults to YYYY.MM.1 if no prior release exists
ANVIL="${ANVIL_CLI:-anvil}"
YEAR_MONTH=$(date +"%Y.%m")
# Get latest release tag (may fail if no releases exist)
LATEST=$($ANVIL release list --format json 2>/dev/null | jq -r '.[0].tag // empty' || true)
if [ -z "$LATEST" ]; then
echo "${YEAR_MONTH}.1"
exit 0
fi
# Parse existing tag
LATEST_YM=$(echo "$LATEST" | cut -d. -f1-2)
LATEST_BUILD=$(echo "$LATEST" | cut -d. -f3)
if [ "$LATEST_YM" = "$YEAR_MONTH" ]; then
echo "${YEAR_MONTH}.$((LATEST_BUILD + 1))"
else
echo "${YEAR_MONTH}.1"
fi