From 81643ca1677593291d2024ace4f25b2885c888d4 Mon Sep 17 00:00:00 2001 From: EuAndreh Date: Sun, 6 Jun 2021 09:30:19 -0300 Subject: aux/: Use tabs over spaces for .sh files --- aux/assert-shellcheck.sh | 4 +-- aux/ci/ci-build.sh | 72 +++++++++++++++++++------------------- aux/ci/git-post-receive.sh | 10 +++--- aux/ci/git-pre-push.sh | 4 +-- aux/ci/report.sh | 70 ++++++++++++++++++------------------- aux/guix/with-container.sh | 12 +++---- aux/workflow/README.sh | 27 ++++++++------- aux/workflow/TODOs.sh | 31 +++++++++-------- aux/workflow/assert-changelog.sh | 14 ++++---- aux/workflow/assert-todos.sh | 74 ++++++++++++++++++++-------------------- aux/workflow/commonmark.sh | 21 ++++++------ aux/workflow/dist.sh | 12 +++---- aux/workflow/public.sh | 4 +-- aux/workflow/sign-tarballs.sh | 18 +++++----- 14 files changed, 188 insertions(+), 185 deletions(-) (limited to 'aux') diff --git a/aux/assert-shellcheck.sh b/aux/assert-shellcheck.sh index fcbb1c7..cc01f3a 100755 --- a/aux/assert-shellcheck.sh +++ b/aux/assert-shellcheck.sh @@ -2,5 +2,5 @@ set -eux git ls-files | \ - xargs awk 'FNR==1 && /^#!\/bin\/sh$/ { print FILENAME }' | \ - xargs shellcheck + xargs awk 'FNR==1 && /^#!\/bin\/sh$/ { print FILENAME }' | \ + xargs shellcheck diff --git a/aux/ci/ci-build.sh b/aux/ci/ci-build.sh index 21788f4..4214ae2 100755 --- a/aux/ci/ci-build.sh +++ b/aux/ci/ci-build.sh @@ -8,43 +8,43 @@ FILENAME="$(date -Is)-$SHA.log" LOGFILE="$LOGS_DIR/$FILENAME" { - echo "Starting CI job at: $(date -Is)" - - finish() { - STATUS="$?" - printf "\n\n>>> exit status was %s\n" "$STATUS" - echo "Finishing CI job at: $(date -Is)" - cd - - NOTE=$(cat <>> exit status was %s\n" "$STATUS" + echo "Finishing CI job at: $(date -Is)" + cd - + NOTE=$(cat <>>\n>>> CI logs added as Git note.\n>>>\n>>> Run status was %s" "$STATUS" - } - trap finish EXIT - - unset GIT_DIR - REMOTE="$PWD" - cd "$(mktemp -d)" - git clone "$REMOTE" . - git config --global user.email git@euandre.org - git config --global user.name 'EuAndreh CI' - git fetch origin refs/notes/*:refs/notes/* - git annex get ||: - - if [ -f aux/guix/with-container.sh ]; then - RUNNER='./aux/guix/with-container.sh' - else - RUNNER='sh -c' - fi - - $RUNNER 'make clean public dev-check' - - rsync -a public/ "/srv/http/$PACKAGE/" --delete + git notes --ref=refs/notes/ci-data add -f -m "$STATUS $FILENAME" + git notes --ref=refs/notes/ci-logs add -f -F "$LOGFILE" + git notes append -m "$NOTE" + + printf "\n>>>\n>>> CI logs added as Git note.\n>>>\n>>> Run status was %s" "$STATUS" + } + trap finish EXIT + + unset GIT_DIR + REMOTE="$PWD" + cd "$(mktemp -d)" + git clone "$REMOTE" . + git config --global user.email git@euandre.org + git config --global user.name 'EuAndreh CI' + git fetch origin refs/notes/*:refs/notes/* + git annex get ||: + + if [ -f aux/guix/with-container.sh ]; then + RUNNER='./aux/guix/with-container.sh' + else + RUNNER='sh -c' + fi + + $RUNNER 'make clean public dev-check' + + rsync -a public/ "/srv/http/$PACKAGE/" --delete } 2>&1 | tee "$LOGFILE" diff --git a/aux/ci/git-post-receive.sh b/aux/ci/git-post-receive.sh index f8986ed..ee8075f 100755 --- a/aux/ci/git-post-receive.sh +++ b/aux/ci/git-post-receive.sh @@ -2,11 +2,11 @@ set -eu for n in $(seq 0 $((GIT_PUSH_OPTION_COUNT - 1))); do - opt="$(eval "echo \$GIT_PUSH_OPTION_$n")" - if [ "$opt" = skip-ci ] || [ "$opt" = ci-skip ]; then - printf "\n'%s' option detected, not running ci-build.sh\n\n" "$opt" - exit 0 - fi + opt="$(eval "echo \$GIT_PUSH_OPTION_$n")" + if [ "$opt" = skip-ci ] || [ "$opt" = ci-skip ]; then + printf "\n'%s' option detected, not running ci-build.sh\n\n" "$opt" + exit 0 + fi done PACKAGE="$(basename "$PWD" | cut -d. -f1)" # remove .git suffix diff --git a/aux/ci/git-pre-push.sh b/aux/ci/git-pre-push.sh index 5546cb2..5a7ca0b 100755 --- a/aux/ci/git-pre-push.sh +++ b/aux/ci/git-pre-push.sh @@ -8,9 +8,9 @@ REMOTE_GIT_DIR="/srv/git/$PACKAGE.git" DESCRIPTION="$(mktemp)" if [ -f description ] then - cp description "$DESCRIPTION" + cp description "$DESCRIPTION" else - git config euandreh.description > "$DESCRIPTION" + git config euandreh.description > "$DESCRIPTION" fi scp "$DESCRIPTION" "git.euandreh.xyz:$REMOTE_GIT_DIR/description" diff --git a/aux/ci/report.sh b/aux/ci/report.sh index a3fc608..65d3335 100755 --- a/aux/ci/report.sh +++ b/aux/ci/report.sh @@ -14,56 +14,56 @@ chmod 644 "$OUT" git fetch origin refs/notes/*:refs/notes/* ||: for c in $(git notes list | cut -d\ -f2); do - DATA="$(git notes --ref=refs/notes/ci-data show "$c")" - FILENAME="$(echo "$DATA" | cut -d\ -f2)" - echo "$DATA" > "public/ci-data/$FILENAME" - git notes --ref=refs/notes/ci-logs show "$c" > "public/ci-logs/$FILENAME" + DATA="$(git notes --ref=refs/notes/ci-data show "$c")" + FILENAME="$(echo "$DATA" | cut -d\ -f2)" + echo "$DATA" > "public/ci-data/$FILENAME" + git notes --ref=refs/notes/ci-logs show "$c" > "public/ci-logs/$FILENAME" done cat <> "$OUT" - - - - + + + + - - - -

- CI logs for $PROJECT_UC -

-
    + + + +

    + CI logs for $PROJECT_UC +

    +
      EOF for f in $(find public/ci-data/ -type f | LANG=C.UTF-8 sort -r); do - DATA="$(cat "$f")" - STATUS="$(echo "$DATA" | cut -d\ -f1)" - FILENAME="$(echo "$DATA" | cut -d\ -f2)" + DATA="$(cat "$f")" + STATUS="$(echo "$DATA" | cut -d\ -f1)" + FILENAME="$(echo "$DATA" | cut -d\ -f2)" - if [ "$STATUS" = 0 ]; then - STATUS_MARKER="$PASS" - else - STATUS_MARKER="$FAIL" - fi + if [ "$STATUS" = 0 ]; then + STATUS_MARKER="$PASS" + else + STATUS_MARKER="$FAIL" + fi - cat <> "$OUT" -
    • - - $STATUS_MARKER
      $FILENAME
      -
      -
    • + cat <> "$OUT" +
    • + + $STATUS_MARKER
      $FILENAME
      +
      +
    • EOF done cat <> "$OUT" -
    - +
+ EOF diff --git a/aux/guix/with-container.sh b/aux/guix/with-container.sh index 13b6cd3..b521c82 100755 --- a/aux/guix/with-container.sh +++ b/aux/guix/with-container.sh @@ -2,12 +2,12 @@ set -eux if [ -z "${1:-}" ]; then - guix time-machine --fallback -C aux/guix/pinned-channels.scm -- \ - environment --fallback -m aux/guix/manifest.scm + guix time-machine --fallback -C aux/guix/pinned-channels.scm -- \ + environment --fallback -m aux/guix/manifest.scm elif [ "$1" = '-p' ]; then - guix time-machine --fallback -C aux/guix/pinned-channels.scm -- \ - environment --fallback -m aux/guix/manifest.scm --pure -C + guix time-machine --fallback -C aux/guix/pinned-channels.scm -- \ + environment --fallback -m aux/guix/manifest.scm --pure -C else - guix time-machine --fallback -C aux/guix/pinned-channels.scm -- \ - environment --fallback -m aux/guix/manifest.scm --pure -C -- sh -c "$@" + guix time-machine --fallback -C aux/guix/pinned-channels.scm -- \ + environment --fallback -m aux/guix/manifest.scm --pure -C -- sh -c "$@" fi 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 < "$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-]+)/\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 -- cgit v1.2.3