aboutsummaryrefslogtreecommitdiff
path: root/aux/workflow
diff options
context:
space:
mode:
Diffstat (limited to 'aux/workflow')
-rwxr-xr-xaux/workflow/README.sh27
-rwxr-xr-xaux/workflow/TODOs.sh31
-rwxr-xr-xaux/workflow/assert-changelog.sh14
-rwxr-xr-xaux/workflow/assert-todos.sh74
-rwxr-xr-xaux/workflow/commonmark.sh21
-rwxr-xr-xaux/workflow/dist.sh12
-rwxr-xr-xaux/workflow/public.sh4
-rwxr-xr-xaux/workflow/sign-tarballs.sh18
8 files changed, 102 insertions, 99 deletions
diff --git a/aux/workflow/README.sh b/aux/workflow/README.sh
index d0bb6ff..51ab5bf 100755
--- a/aux/workflow/README.sh
+++ b/aux/workflow/README.sh
@@ -9,13 +9,13 @@ MAILING_LIST="$3"
RELEASES_LIST="$(mktemp)"
for version in $(git tag | perl -e 'print reverse <>'); do
- echo "- version [$version](https://git.euandreh.xyz/$PROJECT/snapshot/$PROJECT-$version.tar.gz) ([sig](https://git.euandreh.xyz/$PROJECT/snapshot/$PROJECT-$version.tar.gz.asc)), released in $(git log -1 --format=%cd --date=short "$version")" >> "$RELEASES_LIST"
+ echo "- version [$version](https://git.euandreh.xyz/$PROJECT/snapshot/$PROJECT-$version.tar.gz) ([sig](https://git.euandreh.xyz/$PROJECT/snapshot/$PROJECT-$version.tar.gz.asc)), released in $(git log -1 --format=%cd --date=short "$version")" >> "$RELEASES_LIST"
done
RELEASES="$(mktemp)"
if [ -s "$RELEASES_LIST" ]; then
- printf '\n# Releases\n\n' >> "$RELEASES"
- cat "$RELEASES_LIST" >> "$RELEASES"
+ printf '\n# Releases\n\n' >> "$RELEASES"
+ cat "$RELEASES_LIST" >> "$RELEASES"
fi
LINKS="$(mktemp)"
@@ -32,13 +32,14 @@ cat <<EOF > "$LINKS"
EOF
cat "README.md" "$LINKS" "$RELEASES" | \
- pandoc --toc \
- --highlight-style pygments \
- --toc-depth=2 \
- -s \
- --metadata title="$PROJECT_UC - README" \
- --metadata lang=en \
- -r commonmark \
- -w html \
- -H aux/workflow/favicon.html \
- > public/index.html
+ pandoc \
+ --toc \
+ --highlight-style pygments \
+ --toc-depth=2 \
+ -s \
+ --metadata title="$PROJECT_UC - README" \
+ --metadata lang=en \
+ -r commonmark \
+ -w html \
+ -H aux/workflow/favicon.html \
+ > public/index.html
diff --git a/aux/workflow/TODOs.sh b/aux/workflow/TODOs.sh
index d177984..ae38fc7 100755
--- a/aux/workflow/TODOs.sh
+++ b/aux/workflow/TODOs.sh
@@ -14,18 +14,19 @@ TAGS_REGEX='s/tag:([\w-]+)/<span class="tag">\1<\/span>/g'
sed -e "s:@PROJECT_UC@:$PROJECT_UC:g" \
-e "s:@PROJECT@:$PROJECT:g" \
-e "s:@MAILING_LIST@:$MAILING_LIST:g" < aux/workflow/preamble.md | \
- printf '%s\n\n%s' \
- "$(cat -)" \
- "$(perl -pe "$TODOS_REGEX" TODOs.md | \
- perl -pe "$TAGS_REGEX")" | \
- pandoc --toc \
- --highlight-style pygments \
- --toc-depth=2 \
- -s \
- --metadata title="$PROJECT_UC - TODOs" \
- --metadata lang=en \
- -r commonmark \
- -w html \
- -H aux/workflow/favicon.html \
- -H aux/workflow/style.css \
- > public/TODOs.html
+ printf \
+ '%s\n\n%s' \
+ "$(cat -)" \
+ "$(perl -pe "$TODOS_REGEX" TODOs.md | perl -pe "$TAGS_REGEX")" | \
+ pandoc \
+ --toc \
+ --highlight-style pygments \
+ --toc-depth=2 \
+ -s \
+ --metadata title="$PROJECT_UC - TODOs" \
+ --metadata lang=en \
+ -r commonmark \
+ -w html \
+ -H aux/workflow/favicon.html \
+ -H aux/workflow/style.css \
+ > public/TODOs.html
diff --git a/aux/workflow/assert-changelog.sh b/aux/workflow/assert-changelog.sh
index d39f527..8e81f1f 100755
--- a/aux/workflow/assert-changelog.sh
+++ b/aux/workflow/assert-changelog.sh
@@ -4,11 +4,11 @@ set -eu
PROJECT="$1"
for VVERSION in $(git tag); do
- VERSION="${VVERSION#v}"
- DATE="$(git log -1 --format=%cd --date=short "$VVERSION")"
- CHANGELOG_ENTRY="# [$VERSION](https://git.euandreh.xyz/$PROJECT/commit/?id=$VVERSION) - $DATE"
- if ! grep -qF "$CHANGELOG_ENTRY" CHANGELOG.md; then
- echo "Missing '$CHANGELOG_ENTRY' entry from CHANGELOG.md" >&2
- exit 1
- fi
+ VERSION="${VVERSION#v}"
+ DATE="$(git log -1 --format=%cd --date=short "$VVERSION")"
+ CHANGELOG_ENTRY="# [$VERSION](https://git.euandreh.xyz/$PROJECT/commit/?id=$VVERSION) - $DATE"
+ if ! grep -qF "$CHANGELOG_ENTRY" CHANGELOG.md; then
+ echo "Missing '$CHANGELOG_ENTRY' entry from CHANGELOG.md" >&2
+ exit 1
+ fi
done
diff --git a/aux/workflow/assert-todos.sh b/aux/workflow/assert-todos.sh
index cd7b611..ca73b7f 100755
--- a/aux/workflow/assert-todos.sh
+++ b/aux/workflow/assert-todos.sh
@@ -2,56 +2,56 @@
set -eu
if git grep FIXME | grep -v '^TODOs.md' | grep -v '^aux/workflow/assert-todos.sh'; then
- echo "Found dangling FIXME markers on the project."
- echo "You should write them down properly on TODOs.md."
- exit 1
+ echo "Found dangling FIXME markers on the project."
+ echo "You should write them down properly on TODOs.md."
+ exit 1
fi
awk -F'{#' '
BEGIN {
- exitstatus = 0
- h2flag = 0
- h2status = ""
- prevline = ""
- idx = 0
- delete ids[0]
+ exitstatus = 0
+ h2flag = 0
+ h2status = ""
+ prevline = ""
+ idx = 0
+ delete ids[0]
}
h2flag == 1 {
- split($0, l, " ")
- timelinestatus = l[2]
- if (h2status != timelinestatus) {
- print "h2/timeline status mismatch for line " NR-1
- print prevline
- print $0
- exitstatus = 1
- }
- h2status = ""
- h2flag = 0
+ split($0, l, " ")
+ timelinestatus = l[2]
+ if (h2status != timelinestatus) {
+ print "h2/timeline status mismatch for line " NR-1
+ print prevline
+ print $0
+ exitstatus = 1
+ }
+ h2status = ""
+ h2flag = 0
}
/^## (TODO|DOING|WAITING|MEETING|INACTIVE|NEXT|CANCELLED|DONE)/ {
- if (match($0, / \{#.*?\}$/) == 0) {
- print "Missing ID for line " NR ":\n" $0
- exitstatus = 1
- }
- id_with_prefix = substr($2, 0, length($2) - 1)
- match(id_with_prefix, /^\w+-/)
- id = substr(id_with_prefix, RLENGTH + 1)
- if (id in arr) {
- print "Duplicate ID: " id
- exitstatus = 1
- } else {
- arr[id] = 1
- }
+ if (match($0, / \{#.*?\}$/) == 0) {
+ print "Missing ID for line " NR ":\n" $0
+ exitstatus = 1
+ }
+ id_with_prefix = substr($2, 0, length($2) - 1)
+ match(id_with_prefix, /^\w+-/)
+ id = substr(id_with_prefix, RLENGTH + 1)
+ if (id in arr) {
+ print "Duplicate ID: " id
+ exitstatus = 1
+ } else {
+ arr[id] = 1
+ }
- split($0, l, " ")
- h2status = l[2]
- h2flag = 1
- prevline = $0
+ split($0, l, " ")
+ h2status = l[2]
+ h2flag = 1
+ prevline = $0
}
/^# Scratch$/ {
- exit exitstatus
+ exit exitstatus
}
' TODOs.md
diff --git a/aux/workflow/commonmark.sh b/aux/workflow/commonmark.sh
index 6b44358..e97751b 100755
--- a/aux/workflow/commonmark.sh
+++ b/aux/workflow/commonmark.sh
@@ -6,13 +6,14 @@ mkdir -p public
PROJECT_UC="$1"
F="$2"
-pandoc --toc \
- --highlight-style pygments \
- --toc-depth=2 \
- -s \
- --metadata title="$PROJECT_UC - ${F%.*}" \
- --metadata lang=en \
- -r commonmark \
- -w html \
- -H aux/workflow/favicon.html \
- < "$F" > "public/${F%.*}.html"
+pandoc \
+ --toc \
+ --highlight-style pygments \
+ --toc-depth=2 \
+ -s \
+ --metadata title="$PROJECT_UC - ${F%.*}" \
+ --metadata lang=en \
+ -r commonmark \
+ -w html \
+ -H aux/workflow/favicon.html \
+ < "$F" > "public/${F%.*}.html"
diff --git a/aux/workflow/dist.sh b/aux/workflow/dist.sh
index 0ae0ec4..45f8d7e 100755
--- a/aux/workflow/dist.sh
+++ b/aux/workflow/dist.sh
@@ -7,18 +7,18 @@ VVERSION="v$2"
PROJECT="$3"
if git show "$VVERSION" 1>/dev/null 2>/dev/null; then
- echo "Version '$VVERSION' already exists." >&2
- exit 1
+ echo "Version '$VVERSION' already exists." >&2
+ exit 1
fi
if [ "$DATE" != "$(git log -1 --format=%cd --date=short HEAD)" ]; then
- echo "Date '$DATE' is not up-to-date." >&2
- exit 1
+ echo "Date '$DATE' is not up-to-date." >&2
+ exit 1
fi
if [ "Release $VVERSION" != "$(git log --format=%B -1 HEAD | head -n1)" ]; then
- echo "Commit message isn't 'Release $VVERSION'." >&2
- exit 1
+ echo "Commit message isn't 'Release $VVERSION'." >&2
+ exit 1
fi
sh aux/workflow/assert-changelog.sh "$DATE" "$VERSION" "$PROJECT"
diff --git a/aux/workflow/public.sh b/aux/workflow/public.sh
index d71bdb5..b8840db 100755
--- a/aux/workflow/public.sh
+++ b/aux/workflow/public.sh
@@ -5,8 +5,8 @@ PROJECT_UC="$1"
PROJECT="$2"
MAILING_LIST="$3"
-sh aux/workflow/TODOs.sh "$PROJECT_UC" "$PROJECT" "$MAILING_LIST"
-sh aux/workflow/README.sh "$PROJECT_UC" "$PROJECT" "$MAILING_LIST"
+sh aux/workflow/TODOs.sh "$PROJECT_UC" "$PROJECT" "$MAILING_LIST"
+sh aux/workflow/README.sh "$PROJECT_UC" "$PROJECT" "$MAILING_LIST"
if [ -f CHANGELOG.md ]; then
sh aux/workflow/commonmark.sh "$PROJECT" CHANGELOG.md
diff --git a/aux/workflow/sign-tarballs.sh b/aux/workflow/sign-tarballs.sh
index b88ff33..8de6ac4 100755
--- a/aux/workflow/sign-tarballs.sh
+++ b/aux/workflow/sign-tarballs.sh
@@ -5,13 +5,13 @@ PROJECT="$1"
SIGNATURES="$(git notes --ref=refs/notes/signatures/tar.gz list | cut -d\ -f2)"
for tag in $(git tag); do
- COMMIT="$(git rev-list -n1 "$tag")"
- if ! echo "$SIGNATURES" | grep -qF "$COMMIT"; then
- echo "Adding missing signature to $tag" >&2
- git notes --ref=refs/notes/signatures/tar.gz add -f -C "$(
- git archive --format tar.gz --prefix "$PROJECT-${tag#v}/" "$tag" |
- gpg --output - --armor --detach-sign |
- git hash-object -w --stdin
- )" "$tag"
- fi
+ COMMIT="$(git rev-list -n1 "$tag")"
+ if ! echo "$SIGNATURES" | grep -qF "$COMMIT"; then
+ echo "Adding missing signature to $tag" >&2
+ git notes --ref=refs/notes/signatures/tar.gz add -f -C "$(
+ git archive --format tar.gz --prefix "$PROJECT-${tag#v}/" "$tag" |
+ gpg --output - --armor --detach-sign |
+ git hash-object -w --stdin
+ )" "$tag"
+ fi
done