aboutsummaryrefslogtreecommitdiff
path: root/aux/ci
diff options
context:
space:
mode:
authorEuAndreh <eu@euandre.org>2023-03-13 14:25:15 -0300
committerEuAndreh <eu@euandre.org>2023-03-13 14:25:15 -0300
commit862271d704f1d096a26e0b3ff147b70ae94a64e3 (patch)
treecef7a195e779602beb9e951e6b7dbfabc69d5321 /aux/ci
parentgit mv src/xyz/euandreh/* src/org/euandre/ (diff)
downloadpackage-repository-862271d704f1d096a26e0b3ff147b70ae94a64e3.tar.gz
package-repository-862271d704f1d096a26e0b3ff147b70ae94a64e3.tar.xz
rm -rf aux/ po/
Diffstat (limited to 'aux/ci')
-rwxr-xr-xaux/ci/ci-build.sh66
-rwxr-xr-xaux/ci/git-post-receive.sh22
-rwxr-xr-xaux/ci/git-pre-push.sh22
-rwxr-xr-xaux/ci/report.sh109
4 files changed, 0 insertions, 219 deletions
diff --git a/aux/ci/ci-build.sh b/aux/ci/ci-build.sh
deleted file mode 100755
index 8d49779..0000000
--- a/aux/ci/ci-build.sh
+++ /dev/null
@@ -1,66 +0,0 @@
-#!/bin/sh
-set -eux
-
-PROJECT="$1"
-LOGS_DIR="$2"
-SHA="$3"
-FILENAME="$(date -Is)-$SHA.log"
-LOGFILE="$LOGS_DIR/$FILENAME"
-
-mkdtemp() {
- name="$(echo 'mkstemp(template)' |
- m4 -D template="${TMPDIR:-/tmp}/m4-tmpname.")"
- rm -f "$name"
- mkdir "$name"
- echo "$name"
-}
-
-{
- 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 <<EOF
-See CI logs with:
- git notes --ref=refs/notes/ci-logs show $SHA
- git notes --ref=refs/notes/ci-data show $SHA
-EOF
-)
- 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"
-
- cd -
- git fetch origin refs/notes/*:refs/notes/*
- sh aux/ci/report.sh -n "$PROJECT" -o public
- rsync -av public/ "/opt/www/$TLD/static/$PROJECT/"
-
- tar \
- -C "/opt/www/$TLD/git/repos" \
- -c \
- -f "/opt/www/$TLD/static/$PROJECT/repo.tar.gz" \
- "$PROJECT".git
-
- printf '\n>>>\n>>> CI logs added as Git note.\n>>>\n>>> Run status was %s\n>>>\n\n' \
- "$STATUS"
- }
- trap finish EXIT
-
- unset GIT_DIR
- REMOTE="$PWD"
- cd "$(mkdtemp)"
- git clone "$REMOTE" .
- git config --global user.email git@euandre.org
- git config --global user.name 'EuAndreh CI'
-
- if [ -e aux/with-container ]; then
- RUNNER='sh aux/with-container'
- else
- RUNNER='sh -c'
- fi
-
- $RUNNER 'make clean dev-check'
-} 2>&1 | tee "$LOGFILE"
diff --git a/aux/ci/git-post-receive.sh b/aux/ci/git-post-receive.sh
deleted file mode 100755
index f813259..0000000
--- a/aux/ci/git-post-receive.sh
+++ /dev/null
@@ -1,22 +0,0 @@
-#!/bin/sh
-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
-done
-
-# shellcheck disable=2034
-read -r _oldrev SHA _refname
-
-PROJECT="$(basename "$PWD" | cut -d. -f1)" # remove .git suffix
-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 /opt/www/$TLD/git/repos/$PROJECT.git/"
-echo "sh /opt/www/$TLD/git/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
deleted file mode 100755
index 9883769..0000000
--- a/aux/ci/git-pre-push.sh
+++ /dev/null
@@ -1,22 +0,0 @@
-#!/bin/sh
-set -eux
-
-TLD="$(cat aux/tld.txt)"
-. aux/lib.sh
-
-PROJECT="$(basename "$PWD")"
-LOGS_DIR="/opt/www/$TLD/git/ci/$PROJECT/logs"
-REMOTE_GIT_DIR="/opt/www/$TLD/git/repos/$PROJECT.git"
-
-DESCRIPTION="$(mkstemp)"
-if [ -f description ]
-then
- cp description "$DESCRIPTION"
-else
- git config euandreh.description > "$DESCRIPTION"
-fi
-
-scp "$DESCRIPTION" "$TLD:$REMOTE_GIT_DIR/description"
-ssh "$TLD" mkdir -p "$LOGS_DIR"
-scp aux/ci/ci-build.sh "$TLD:$(dirname "$LOGS_DIR")/ci-build.sh"
-scp aux/ci/git-post-receive.sh "$TLD:$REMOTE_GIT_DIR/hooks/post-receive"
diff --git a/aux/ci/report.sh b/aux/ci/report.sh
deleted file mode 100755
index e900e26..0000000
--- a/aux/ci/report.sh
+++ /dev/null
@@ -1,109 +0,0 @@
-#!/bin/sh
-set -eu
-
-TLD="$(cat aux/tld.txt)"
-. aux/lib.sh
-
-while getopts 'n:o:' flag; do
- case "$flag" in
- n)
- PROJECT="$OPTARG"
- ;;
- o)
- OUTDIR="$OPTARG"
- ;;
- *)
- exit 2
- ;;
- esac
-done
-shift $((OPTIND - 1))
-
-assert_arg() {
- if [ -z "$1" ]; then
- echo "Missing $2" >&2
- exit 2
- fi
-}
-
-assert_arg "${PROJECT:-}" '-n PROJECT'
-assert_arg "${OUTDIR:-}" '-o OUTDIR'
-
-PASS='✅'
-FAIL='❌'
-
-mkdir -p "$OUTDIR/ci-logs" "$OUTDIR/ci-data"
-
-OUT="$(mkstemp)"
-chmod 644 "$OUT"
-
-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"
-done
-
-{
- cat <<EOF
-<!DOCTYPE html>
-<html lang="en">
- <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>
-
-EOF
-
- cat aux/workflow/style.css
-
- cat <<EOF
-
- <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
-} > "$OUT"
-
-for f in $(find "$OUTDIR/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)"
-
- if [ "$STATUS" = 0 ]; then
- STATUS_MARKER="$PASS"
- else
- STATUS_MARKER="$FAIL"
- fi
-
- cat <<EOF >> "$OUT"
- <li>
- <a href="ci-logs/$FILENAME">$STATUS_MARKER <pre>$FILENAME</pre></a>
- </li>
-EOF
-done
-
-cat <<EOF >> "$OUT"
- </ol>
- </main>
- </body>
-</html>
-EOF
-
-mv "$OUT" "$OUTDIR/ci.html"