diff options
Diffstat (limited to '')
-rwxr-xr-x | aux/checks/readme.sh | 82 |
1 files changed, 82 insertions, 0 deletions
diff --git a/aux/checks/readme.sh b/aux/checks/readme.sh new file mode 100755 index 0000000..0447b08 --- /dev/null +++ b/aux/checks/readme.sh @@ -0,0 +1,82 @@ +#!/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 + + +EXPECTED="$(mkstemp)" +cat <<-EOF >> "$EXPECTED" + + Send contributions to the [mailing list] via + [\`git send-email\`](https://git-send-email.io/). + + + ## Links + + - [homepage](https://$TLD/s/$NAME/en/) + - [source code](https://$TLD/git/$NAME/) + - [bug tracking](https://$TLD/s/$NAME/TODOs.html) + - [mailing list] + - [CI logs](https://$TLD/s/$NAME/ci/) + - [CHANGELOG](https://$TLD/s/$NAME/en/CHANGELOG.html) + + [mailing list]: https://lists.sr.ht/~euandreh/$MAILING_LIST?search=%5B$NAME%5D +EOF + +RELEASES_LIST="$(mkstemp)" +add_release() { + DATE="$1" + VVERSION="$2" + echo "- [$VVERSION](https://$TLD/git/$NAME/commit/?id=$VVERSION) [$NAME-$VVERSION.tar.gz](https://$TLD/git/$NAME/snapshot/$NAME-$VVERSION.tar.gz) ([sig](https://$TLD/git/$NAME/snapshot/$NAME-$VVERSION.tar.gz.asc)) - $DATE" >> "$RELEASES_LIST" +} + +for VVERSION in $(git tag); do + DATE="$(git log -1 --format=%ad --date=short "$VVERSION")" + add_release "$DATE" "$VVERSION" +done + +# "$@" represents a list of tags to be also included in the verification. +for VVERSION in "$@"; do + if ! git tag | grep -qF "$VVERSION"; then + DATE="$(date '+%Y-%m-%d')" + add_release "$DATE" "$VVERSION" + fi +done + +if [ -s "$RELEASES_LIST" ]; then + printf '\n\n## Releases\n\n' >> "$EXPECTED" + sort -r "$RELEASES_LIST" >> "$EXPECTED" +fi + +cat <<-EOF >> "$EXPECTED" + + + ## License + + The code is licensed under + [GNU Affero General Public License v3.0 or later][AGPL-3.0-or-later] + (AGPL-3.0-or-later). + + [AGPL-3.0-or-later]: https://$TLD/git/$NAME/tree/COPYING +EOF + +if ! tail -n "$(wc -l < "$EXPECTED")" README.md | diff - "$EXPECTED"; then + echo 'Wrong metadata at the end of README.md file' + echo "See expected content at: $EXPECTED" + exit 1 +fi |