aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to '')
-rwxr-xr-xaux/assert-shellcheck.sh4
-rwxr-xr-xaux/ci/ci-build.sh12
-rwxr-xr-xaux/ci/git-post-receive.sh5
-rwxr-xr-xaux/ci/git-pre-push.sh2
-rwxr-xr-xaux/ci/report.sh54
-rwxr-xr-xaux/guix/with-container.sh6
-rwxr-xr-xaux/lib.sh4
-rwxr-xr-xaux/workflow/TODOs.sh6
-rwxr-xr-xaux/workflow/assert-changelog.sh15
-rwxr-xr-xaux/workflow/assert-manpages.sh3
-rwxr-xr-xaux/workflow/assert-readme.sh13
-rwxr-xr-xaux/workflow/assert-spelling.sh29
-rwxr-xr-xaux/workflow/assert-todos.sh3
-rwxr-xr-xaux/workflow/dist.sh29
-rwxr-xr-xaux/workflow/l10n.sh24
-rwxr-xr-xaux/workflow/public.sh14
-rwxr-xr-xaux/workflow/sign-tarballs.sh17
17 files changed, 153 insertions, 87 deletions
diff --git a/aux/assert-shellcheck.sh b/aux/assert-shellcheck.sh
index 1779ea8..40fd364 100755
--- a/aux/assert-shellcheck.sh
+++ b/aux/assert-shellcheck.sh
@@ -1,6 +1,6 @@
#!/bin/sh
set -eu
-git ls-files | \
- xargs awk 'FNR==1 && /^#!\/bin\/sh$/ { print FILENAME }' | \
+find . -name '*.sh' -print0 |
+ xargs -0 awk 'FNR==1 && /^#!\/bin\/sh$/ { print FILENAME }' |
xargs shellcheck
diff --git a/aux/ci/ci-build.sh b/aux/ci/ci-build.sh
index 17e9e37..2ec0102 100755
--- a/aux/ci/ci-build.sh
+++ b/aux/ci/ci-build.sh
@@ -8,7 +8,8 @@ FILENAME="$(date -Is)-$SHA.log"
LOGFILE="$LOGS_DIR/$FILENAME"
mkdtemp() {
- name="$(echo 'mkstemp(template)' | m4 -D template="${TMPDIR:-/tmp}/m4-tmpname.")"
+ name="$(echo 'mkstemp(template)' |
+ m4 -D template="${TMPDIR:-/tmp}/m4-tmpname.")"
rm -f "$name"
mkdir "$name"
echo "$name"
@@ -37,7 +38,13 @@ EOF
sh aux/ci/report.sh -n "$PROJECT" -o public
rsync -av public/ "/srv/http/$PROJECT/" --delete
- printf "\n>>>\n>>> CI logs added as Git note.\n>>>\n>>> Run status was %s\n\n" "$STATUS"
+ if [ -f aux/guix/with-container.sh ]; then
+ cp "$(sh aux/guix/with-container.sh -C)" \
+ "/srv/http/$PROJECT/docker.tar.gz"
+ fi
+
+ printf '\n>>>\n>>> CI logs added as Git note.\n>>>\n>>> Run status was %s\n>>>\n\n' \
+ "$STATUS"
}
trap finish EXIT
@@ -47,7 +54,6 @@ EOF
git clone "$REMOTE" .
git config --global user.email git@euandre.org
git config --global user.name 'EuAndreh CI'
- git annex get ||:
if [ -f aux/guix/with-container.sh ]; then
RUNNER='sh aux/guix/with-container.sh'
diff --git a/aux/ci/git-post-receive.sh b/aux/ci/git-post-receive.sh
index b8584bf..92bba73 100755
--- a/aux/ci/git-post-receive.sh
+++ b/aux/ci/git-post-receive.sh
@@ -4,7 +4,8 @@ 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"
+ printf "\n'%s' option detected, not running ci-build.sh\n\n" \
+ "$opt"
exit 0
fi
done
@@ -17,5 +18,5 @@ LOGS_DIR="/opt/ci/$PROJECT/logs"
sh "/opt/ci/$PROJECT/ci-build.sh" "$PROJECT" "$LOGS_DIR" "$SHA" ||:
echo 'To retrigger the build, run:'
-echo "cd /srv/git/$PROJECT.git/"
+echo "cd /srv/http/$PROJECT.git/"
echo "sh /opt/ci/$PROJECT/ci-build.sh" "$PROJECT" "$LOGS_DIR" "$SHA"
diff --git a/aux/ci/git-pre-push.sh b/aux/ci/git-pre-push.sh
index 4fcf733..eaaa7bd 100755
--- a/aux/ci/git-pre-push.sh
+++ b/aux/ci/git-pre-push.sh
@@ -6,7 +6,7 @@ TLD="$(cat aux/tld.txt)"
PROJECT="$(basename "$PWD")"
LOGS_DIR="/opt/ci/$PROJECT/logs"
-REMOTE_GIT_DIR="/srv/git/$PROJECT.git"
+REMOTE_GIT_DIR="/srv/http/$PROJECT.git"
DESCRIPTION="$(mkstemp)"
if [ -f description ]
diff --git a/aux/ci/report.sh b/aux/ci/report.sh
index 1aa41a0..6f18f0f 100755
--- a/aux/ci/report.sh
+++ b/aux/ci/report.sh
@@ -41,29 +41,36 @@ 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" > "$OUTDIR/ci-data/$FILENAME"
- git notes --ref=refs/notes/ci-logs show "$c" > "$OUTDIR/ci-logs/$FILENAME"
+ git notes --ref=refs/notes/ci-logs show "$c" \
+ > "$OUTDIR/ci-logs/$FILENAME"
done
cat <<EOF >> "$OUT"
<!DOCTYPE html>
<html lang="en">
- <head>
- <meta charset="UTF-8" />
- <meta name="viewport" content="width=device-width, initial-scale=1" />
- <link rel="icon" type="image/svg+xml" href="favicon.svg" />
- <title>CI logs for $PROJECT</title>
+ <head>
+ <meta charset="UTF-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1" />
+ <meta name="description" content="CI logs for $PROJECT" />
+ <link rel="icon" type="image/svg+xml" href="favicon.svg" />
+ <title>$PROJECT - CI logs</title>
- <style>
- pre {
- display: inline;
- }
- </style>
- </head>
- <body>
- <h1>
- CI logs for <a href="https://$TLD/$PROJECT/en/">$PROJECT</a>
- </h1>
- <ul>
+ <style>
+ pre {
+ display: inline;
+ }
+ ol {
+ list-style-type: disc;
+ }
+ </style>
+ </head>
+ <body>
+ <main>
+ <h1>
+ CI logs for
+ <a href="https://$TLD/$PROJECT/en/">$PROJECT</a>
+ </h1>
+ <ol>
EOF
for f in $(find "$OUTDIR/ci-data/" -type f | LANG=C.UTF-8 sort -r); do
@@ -78,17 +85,16 @@ for f in $(find "$OUTDIR/ci-data/" -type f | LANG=C.UTF-8 sort -r); do
fi
cat <<EOF >> "$OUT"
- <li>
- <a href="ci-logs/$FILENAME">
- $STATUS_MARKER <pre>$FILENAME</pre>
- </a>
- </li>
+ <li>
+ <a href="ci-logs/$FILENAME">$STATUS_MARKER <pre>$FILENAME</pre></a>
+ </li>
EOF
done
cat <<EOF >> "$OUT"
- </ul>
- </body>
+ </ol>
+ </main>
+ </body>
</html>
EOF
diff --git a/aux/guix/with-container.sh b/aux/guix/with-container.sh
index 408fb39..6e19691 100755
--- a/aux/guix/with-container.sh
+++ b/aux/guix/with-container.sh
@@ -7,7 +7,11 @@ if [ -z "${1:-}" ]; then
elif [ "$1" = '-p' ]; then
guix time-machine --fallback -C aux/guix/pinned-channels.scm -- \
environment --fallback -m aux/guix/manifest.scm --pure -C
+elif [ "$1" = '-C' ]; then
+ guix time-machine --fallback -C aux/guix/pinned-channels.scm -- \
+ pack -f docker -S/bin=bin -m aux/guix/manifest.scm -v3
else
guix time-machine --fallback -C aux/guix/pinned-channels.scm -- \
- environment --fallback -m aux/guix/manifest.scm --pure -C -- sh -c "$@"
+ environment --fallback -m aux/guix/manifest.scm --pure -C \
+ -- sh -c "$@"
fi
diff --git a/aux/lib.sh b/aux/lib.sh
index c31c4fb..d64409a 100755
--- a/aux/lib.sh
+++ b/aux/lib.sh
@@ -7,8 +7,8 @@
uuid() {
# Taken from:
# https://serverfault.com/a/799198
- od -xN20 /dev/urandom | \
- head -1 | \
+ od -xN20 /dev/urandom |
+ head -1 |
awk '{OFS="-"; print $2$3,$4,$5,$6,$7$8$9}'
}
diff --git a/aux/workflow/TODOs.sh b/aux/workflow/TODOs.sh
index d875e0e..efc0b04 100755
--- a/aux/workflow/TODOs.sh
+++ b/aux/workflow/TODOs.sh
@@ -46,14 +46,14 @@ IDS_REGEX='s:^## \(TODO\|DOING\|WAITING\|MEETING\|INACTIVE\|NEXT\|CANCELLED\|DON
:g'
TAGS_REGEX='s|tag:\([a-z0-9-]*\)|<span class="tag">\1</span>|g'
-cat aux/workflow/preamble.md TODOs.md | \
+cat aux/workflow/preamble.md TODOs.md |
sed \
-e "s:@PROJECT_UC@:$PROJECT_UC:g" \
-e "s:@PROJECT@:$PROJECT:g" \
-e "s:@MAILING_LIST@:$MAILING_LIST:g" \
-e "s:@TLD@:$TLD:g" \
-e "$IDS_REGEX" \
- -e "$TAGS_REGEX" | \
+ -e "$TAGS_REGEX" |
pandoc \
--toc \
--highlight-style pygments \
@@ -64,7 +64,7 @@ cat aux/workflow/preamble.md TODOs.md | \
-r commonmark \
-w html \
-H aux/workflow/favicon.html \
- -H aux/workflow/style.css | \
+ -H aux/workflow/style.css |
sed \
-e 's:<a><a:<a:g' \
-e 's:</a></a>:</a>:g' \
diff --git a/aux/workflow/assert-changelog.sh b/aux/workflow/assert-changelog.sh
index 7f9117f..4acc81b 100755
--- a/aux/workflow/assert-changelog.sh
+++ b/aux/workflow/assert-changelog.sh
@@ -43,18 +43,21 @@ assert() {
DATE="$1"
VVERSION="$2"
VERSION="${2#v}"
- CHANGELOG_ENTRY="# [$VERSION](https://git.euandreh.xyz/$PROJECT/commit/?id=$VVERSION) - $DATE"
-
+ CHANGELOG_ENTRY="$(printf \
+ '# [%s](https://git.euandreh.xyz/%s/commit/?id=%s) - %s' \
+ "$VERSION" "$PROJECT" "$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=%cd --date=short "$VVERSION")"
- assert "$DATE" "$VVERSION"
-done
+if [ -e .git ]; then
+ for VVERSION in $(git tag); do
+ DATE="$(git log -1 --format=%cd --date=short "$VVERSION")"
+ assert "$DATE" "$VVERSION"
+ done
+fi
# "$@" represents a list of tags to be also included in the verification.
for VVERSION in "$@"; do
diff --git a/aux/workflow/assert-manpages.sh b/aux/workflow/assert-manpages.sh
index b26c7a4..f9a6807 100755
--- a/aux/workflow/assert-manpages.sh
+++ b/aux/workflow/assert-manpages.sh
@@ -207,7 +207,8 @@ for from_f in "$@"; do
esac
f="$(echo "$from_f" | sed "s/\.en\./.$lang./")"
- if ! tail -n "$(wc -l < "$EXPECTED")" "$f" | diff - "$EXPECTED"; then
+ if ! tail -n "$(wc -l < "$EXPECTED")" "$f" |
+ diff - "$EXPECTED"; then
echo "Missing metadata at the end of \"$f\" file"
if [ "$IN_PLACE" = true ]; then
cat "$EXPECTED" >> "$f"
diff --git a/aux/workflow/assert-readme.sh b/aux/workflow/assert-readme.sh
index 333a753..1e49bfb 100755
--- a/aux/workflow/assert-readme.sh
+++ b/aux/workflow/assert-readme.sh
@@ -1,6 +1,10 @@
#!/bin/sh
set -eu
+if [ ! -e .git ]; then
+ exit
+fi
+
TLD="$(cat aux/tld.txt)"
. aux/lib.sh
@@ -44,7 +48,8 @@ and for generating the documentation HTML and website, run:
$ make public
\`\`\`
-Send contributions to the [mailing list] via [\`git send-email\`](https://git-send-email.io/).
+Send contributions to the [mailing list] via
+[\`git send-email\`](https://git-send-email.io/).
## Links
@@ -63,7 +68,7 @@ RELEASES_LIST="$(mkstemp)"
add_release() {
DATE="$1"
VVERSION="$2"
- echo "- [$VVERSION](https://git.euandreh.xyz/$PROJECT/commit/?id=$VVERSION) [$PROJECT-$VVERSION.tar.xz](https://git.euandreh.xyz/$PROJECT/snapshot/$PROJECT-$VVERSION.tar.xz) ([sig](https://git.euandreh.xyz/$PROJECT/snapshot/$PROJECT-$VVERSION.tar.xz.asc)) - $DATE" >> "$RELEASES_LIST"
+ echo "- [$VVERSION](https://git.euandreh.xyz/$PROJECT/commit/?id=$VVERSION) [$PROJECT-$VVERSION.tar.gz](https://git.euandreh.xyz/$PROJECT/snapshot/$PROJECT-$VVERSION.tar.gz) ([sig](https://git.euandreh.xyz/$PROJECT/snapshot/$PROJECT-$VVERSION.tar.gz.asc)) - $DATE" >> "$RELEASES_LIST"
}
for VVERSION in $(git tag); do
@@ -89,7 +94,9 @@ 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).
+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://git.euandreh.xyz/$PROJECT/tree/COPYING
EOF
diff --git a/aux/workflow/assert-spelling.sh b/aux/workflow/assert-spelling.sh
index f1eef6f..853fd5e 100755
--- a/aux/workflow/assert-spelling.sh
+++ b/aux/workflow/assert-spelling.sh
@@ -5,16 +5,18 @@ set -eu
sort_dicts() {
for f in po/spelling/*.txt; do
- if ! LANG=POSIX sort "$f" | diff - "$f"; then
- if [ "$IN_PLACE" = true ]; then
- OUT="$(mkstemp)"
- LANG=POSIX sort "$f" | uniq > "$OUT"
- mv "$OUT" "$f"
- else
- echo "The $f dictionary is unsorted. To fix it, run:" >&2
- echo " sh aux/workflow/assert-spelling.sh -i" >&2
- exit 1
- fi
+ if LANG=POSIX sort "$f" | diff - "$f"; then
+ echo continue
+ fi
+ if [ "$IN_PLACE" = true ]; then
+ OUT="$(mkstemp)"
+ LANG=POSIX sort "$f" | uniq > "$OUT"
+ mv "$OUT" "$f"
+ else
+ printf 'The %s dictionary is unsorted.' "$f" >&2
+ printf " To fix it, run:\n" >&2
+ printf " sh aux/workflow/assert-spelling.sh -i" >&2
+ exit 1
fi
done
}
@@ -50,8 +52,8 @@ mkdir -p po/spelling
eval "touch po/spelling/{international,$(echo "$LANGS" | tr ' ' ,)}.txt"
get_lang() {
- grep lang=.. "$1" | \
- head -n1 | \
+ grep lang=.. "$1" |
+ head -n1 |
awk '
match($0, /lang="(..)"/) {
print substr($0, RSTART+length("lang=\""), 2)
@@ -63,7 +65,8 @@ ACC="$(mkstemp)"
for f in "$@"; do
l="$(get_lang "$f")"
CURR_DICT="$(mkstemp)"
- cat po/spelling/international.txt "po/spelling/$l.txt" | sort | uniq > "$CURR_DICT"
+ cat po/spelling/international.txt "po/spelling/$l.txt" |
+ sort | uniq > "$CURR_DICT"
hunspell -u3 -H -d "$l" -p "$CURR_DICT" "$f" | tee -a "$ACC" >&2
done
diff --git a/aux/workflow/assert-todos.sh b/aux/workflow/assert-todos.sh
index dfa1ab7..bc4907d 100755
--- a/aux/workflow/assert-todos.sh
+++ b/aux/workflow/assert-todos.sh
@@ -1,7 +1,8 @@
#!/bin/sh
set -eu
-if git grep FIXME | grep -v '^TODOs.md' | grep -v '^aux/workflow/assert-todos.sh'; then
+if [ -e .git ] && 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
diff --git a/aux/workflow/dist.sh b/aux/workflow/dist.sh
index 15593f4..a433478 100755
--- a/aux/workflow/dist.sh
+++ b/aux/workflow/dist.sh
@@ -42,13 +42,21 @@ if [ -z "${PROJECT_UC:-}" ]; then
PROJECT_UC="$PROJECT"
fi
+
+if [ "$(git rev-parse --abbrev-ref HEAD)" != 'main' ]; then
+ echo 'Not on branch "main".' >&2
+ exit 1
+fi
+
if git show "$VVERSION" 1>/dev/null 2>/dev/null; then
echo "Version '$VVERSION' already exists." >&2
exit 1
fi
-sh aux/workflow/assert-changelog.sh -N "$PROJECT_UC" -n "$PROJECT" "$VVERSION"
-sh aux/workflow/assert-readme.sh -n "$PROJECT" -m "$MAILING_LIST" "$VVERSION"
+if ! printf '%s\n%s\n' "$(git tag)" "$VVERSION" | sort -nct. -k1 -k2 -k3; then
+ echo 'New tag is not bigger than existing ones.' >&2
+ exit 1
+fi
if [ "$DATE" != "$(git log -1 --format=%cd --date=short HEAD)" ]; then
echo "Date '$DATE' is not up-to-date." >&2
@@ -60,21 +68,32 @@ if [ "Release $VVERSION" != "$(git log --format=%B -1 HEAD | head -n1)" ]; then
exit 1
fi
+make clean public dev-check EXTRA_VERSION="$VVERSION"
+
if ! (git diff --quiet && git diff --quiet --staged); then
echo 'Dirty repository.'
exit 1
fi
-git tag "$VVERSION"
+git tag "$VVERSION"
sh aux/workflow/sign-tarballs.sh -n "$PROJECT"
-cat <<EOF >&2
+printf 'Publish version? [Y/n]: ' >&2
+read -r publish
+
+if [ "$publish" = 'n' ]; then
+ cat <<EOF >&2
Now push the tag and the signature before pushing the commit:
-git push origin refs/notes/signatures/tar.xz -o skip-ci --no-verify
+git push origin refs/notes/signatures/tar.gz -o skip-ci --no-verify
git push --tags -o skip-ci --no-verify
git push
EOF
+else
+ git push origin refs/notes/signatures/tar.gz -o skip-ci --no-verify
+ git push --tags -o skip-ci --no-verify
+ git push
+fi
diff --git a/aux/workflow/l10n.sh b/aux/workflow/l10n.sh
index 66e452a..cf687aa 100755
--- a/aux/workflow/l10n.sh
+++ b/aux/workflow/l10n.sh
@@ -29,19 +29,27 @@ assert_arg "${LANGS:-}" '-l LANGS'
for from_f in "$@"; do
for lang in $LANGS ${CONTRIBLANGS:-}; do
to_f="$(echo "$from_f" | sed "s/\.en\./.$lang./")"
- printf 'Generating %s...\n' "$to_f"
+ printf 'Generating %s...\n' "$to_f" >&2
pofile="po/LC_MESSAGES/$from_f/$lang.po"
mkdir -p "$(dirname "$pofile")"
case "$from_f" in
*.en.[1-9].in)
po4a-updatepo -f man -m "$from_f" -p "$pofile"
- po4a-translate -f man -m "$from_f" -p "$pofile" -l "$to_f" -k 0 -v >&2
+ po4a-translate -f man -m "$from_f" \
+ -p "$pofile" -l "$to_f" -k 0 -v >&2
+ ;;
+ *.en.html)
+ po4a-updatepo -f xhtml -m "$from_f" -p "$pofile"
+ po4a-translate -f xhtml -m "$from_f" \
+ -p "$pofile" -l "$to_f" -k 0 -v >&2
;;
*.en.md)
touch "$pofile"
- md2po --include-codeblocks --quiet --save --po-filepath "$pofile" < "$from_f"
- po2md --pofiles "$pofile" --quiet --save "$to_f" --wrapwidth 999 < "$from_f"
+ md2po --include-codeblocks --quiet --save \
+ --po-filepath "$pofile" < "$from_f"
+ po2md --pofiles "$pofile" --save "$to_f" \
+ --quiet --wrapwidth 999 < "$from_f"
;;
*)
echo "Unsupported file format: $from_f" >&2
@@ -56,8 +64,12 @@ yellowb="\033[1;33m"
for lang in $LANGS; do
# shellcheck disable=2044
for pofile in $(find po/ -type f -name "$lang.po"); do
- if LANG=POSIX msgfmt --statistics "$pofile" 2>&1 | grep untranslated; then
- printf "\n\t${yellowb}WARNING${end}!\n Missing translations for %s\n\n" "$pofile" >&2
+ if ! LANG=POSIX msgfmt --statistics "$pofile" 2>&1 |
+ grep untranslated; then
+ continue
fi
+ # shellcheck disable=2059
+ printf "\n ${yellowb}WARNING${end}!" >&2
+ printf "\n Missing translations for %s\n\n" "$pofile" >&2
done
done
diff --git a/aux/workflow/public.sh b/aux/workflow/public.sh
index f9f3b3d..38613de 100755
--- a/aux/workflow/public.sh
+++ b/aux/workflow/public.sh
@@ -41,17 +41,19 @@ PROJECT_UC="${PROJECT_UC:-$PROJECT}"
mkdir -p "$OUTDIR"
-sh aux/workflow/TODOs.sh -N "$PROJECT_UC" -n "$PROJECT" -m "$MAILING_LIST" -o "$OUTDIR"
+sh aux/workflow/TODOs.sh \
+ -N "$PROJECT_UC" -n "$PROJECT" -m "$MAILING_LIST" -o "$OUTDIR"
for lang in $LANGS; do
mkdir -p "$OUTDIR/$lang/"
- sh aux/workflow/commonmark.sh -N "$PROJECT" -t README -l "$lang" < "README.$lang.md" > "$OUTDIR/$lang/index.html"
- sh aux/workflow/commonmark.sh -N "$PROJECT" -t CHANGELOG -l "$lang" < "CHANGELOG.$lang.md" > "$OUTDIR/$lang/CHANGELOG.html"
- cp aux/workflow/favicon.svg aux/workflow/favicon.png "$OUTDIR/$lang"
+ sh aux/workflow/commonmark.sh -N "$PROJECT" -t README -l "$lang" \
+ < "README.$lang.md" > "$OUTDIR/$lang/index.html"
+ sh aux/workflow/commonmark.sh -N "$PROJECT" -t CHANGELOG -l "$lang" \
+ < "CHANGELOG.$lang.md" > "$OUTDIR/$lang/CHANGELOG.html"
+ ln -fs ../favicon.svg "$OUTDIR/$lang"
done
ln -fs en/index.html "$OUTDIR/index.html"
-ln -fs en/CHANGELOG.html "$OUTDIR/CHANGELOG.html"
-cp aux/workflow/favicon.svg aux/workflow/favicon.png "$OUTDIR"
+cp aux/workflow/favicon.svg "$OUTDIR"
sh aux/ci/report.sh -n "$PROJECT" -o "$OUTDIR"
diff --git a/aux/workflow/sign-tarballs.sh b/aux/workflow/sign-tarballs.sh
index 3775e28..3ab2bb8 100755
--- a/aux/workflow/sign-tarballs.sh
+++ b/aux/workflow/sign-tarballs.sh
@@ -23,15 +23,16 @@ assert_arg() {
assert_arg "${PROJECT:-}" '-n PROJECT'
-SIGNATURES="$(git notes --ref=refs/notes/signatures/tar.xz list | cut -d\ -f2)"
+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.xz add -C "$(
- git archive --format tar.xz --prefix "$PROJECT-$tag/" "$tag" |
- gpg --output - --armor --detach-sign |
- git hash-object -w --stdin
- )" "$tag"
+ if echo "$SIGNATURES" | grep -qF "$COMMIT"; then
+ continue
fi
+ echo "Adding missing signature to $tag" >&2
+ git notes --ref=refs/notes/signatures/tar.gz add -C "$(
+ git archive --format tar.gz --prefix "$PROJECT-$tag/" "$tag" |
+ gpg --output - --armor --detach-sign |
+ git hash-object -w --stdin
+ )" "$tag"
done