#!/bin/sh set -eu while getopts 'h' flag; do case "$flag" in h) usage help exit ;; *) usage >&2 exit 2 ;; esac done shift $((OPTIND - 1)) . aux/lib.sh HOMEPAGE_LINK="Changelog for [$NAME](https://$DOMAIN/$NAME/en/)." if ! grep -qF "$HOMEPAGE_LINK" CHANGELOG.md; then echo "Missing link to homepage in CHANGELOG.md:" >&2 echo "$HOMEPAGE_LINK" exit 1 fi assert() { DATE="$1" VVERSION="$2" VERSION="${2#v}" CHANGELOG_ENTRY="$(printf \ '# [%s](https://%s/git/%s/commit/?id=%s) - %s' \ "$VERSION" "$DOMAIN" "$NAME" "$VVERSION" "$DATE")" if ! grep -qF "$CHANGELOG_ENTRY" CHANGELOG.md; then echo "Missing '$CHANGELOG_ENTRY' entry from CHANGELOG.md" >&2 exit 1 fi } for VVERSION in $(git tag); do DATE="$(git log -1 --format=%ad --date=short "$VVERSION")" assert "$DATE" "$VVERSION" done # FIXME # "$@" represents a list of tags to be also included in the verification. for VVERSION in "$@"; do DATE="$(date '+%Y-%m-%d')" assert "$DATE" "$VVERSION" done