summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorEuAndreh <eu@euandre.org>2024-07-22 10:34:33 -0300
committerEuAndreh <eu@euandre.org>2024-07-22 10:34:33 -0300
commit87d9b3ab42a37c0c7ec0c056a8a197dc0f7e723b (patch)
treeae585c974fc8fe9b3fe2e06d3405a84f151da777 /src
parentrm src/web/index.html (diff)
downloadasami-87d9b3ab42a37c0c7ec0c056a8a197dc0f7e723b.tar.gz
asami-87d9b3ab42a37c0c7ec0c056a8a197dc0f7e723b.tar.xz
rm -rf src/ci/
Diffstat (limited to 'src')
-rwxr-xr-xsrc/ci/git-post-receive.sh178
-rwxr-xr-xsrc/ci/git-pre-receive.sh14
2 files changed, 0 insertions, 192 deletions
diff --git a/src/ci/git-post-receive.sh b/src/ci/git-post-receive.sh
deleted file mode 100755
index 46bf5a5..0000000
--- a/src/ci/git-post-receive.sh
+++ /dev/null
@@ -1,178 +0,0 @@
-#!/bin/sh
-# shellcheck source=/dev/null disable=2317
-. /etc/rc
-set -eu
-
-
-# shellcheck disable=2034
-read -r _oldrev SHA REFNAME
-
-if [ "$SHA" = '0000000000000000000000000000000000000000' ]; then
- exit
-fi
-
-
-SKIP_DEPLOY=false
-for n in $(seq 0 $((GIT_PUSH_OPTION_COUNT - 1))); do
- opt="$(eval "printf '%s' \"\$GIT_PUSH_OPTION_$n\"")"
- case "$opt" in
- ci.skip)
- cat <<-EOF
-
- "$opt" option detected, not running CI.
-
- EOF
- exit
- ;;
- deploy.skip)
- SKIP_DEPLOY=true
- ;;
- *)
- ;;
- esac
-done
-
-
-epoch() {
- awk 'BEGIN { srand(); print(srand()); }'
-}
-
-now() {
- date '+%Y-%m-%dT%H:%M:%S%:z'
-}
-
-NAME="$(basename "$PWD" .git)"
-LOGS_DIR=/var/log/ci/"$NAME"/
-TIMESTAMP="$(now)"
-FILENAME="$TIMESTAMP-$SHA.log"
-LOGFILE="$LOGS_DIR/$FILENAME"
-mkdir -p "$LOGS_DIR"
-
-
-END_MARKER='\033[0m'
-LIGHT_BLUE_B='\033[1;36m'
-YELLOW='\033[1;33m'
-
-blue() {
- printf "${LIGHT_BLUE_B}%s${END_MARKER}" "$1"
-}
-
-yellow() {
- printf "${YELLOW}%s${END_MARKER}" "$1"
-}
-
-info() {
- sed "s|^\(.\)|$(blue 'CI'): \1|"
-}
-
-
-uuid() {
- od -xN20 /dev/urandom |
- head -n1 |
- awk '{OFS="-"; print $2$3,$4,$5,$6,$7$8$9}'
-}
-
-tmpname() {
- printf '%s/uuid-tmpname with spaces.%s' "${TMPDIR:-/tmp}" "$(uuid)"
-}
-
-mkdtemp() {
- name="$(tmpname)"
- mkdir -- "$name"
- printf '%s' "$name"
-}
-
-
-{
- cat <<-EOF | info
- Starting CI job at: $(now)
- EOF
- START="$(epoch)"
-
- duration() {
- if [ "$RUN_DURATION" -gt 60 ]; then
- cat <<-EOF
- $(yellow 'WARNING'): run took more than 1 minute! ($RUN_DURATION seconds)
- EOF
- else
- cat <<-EOF
- Run took $RUN_DURATION seconds.
- EOF
- fi
- }
-
- finish() {
- STATUS="$?"
- END="$(epoch)"
- RUN_DURATION=$((END - START))
- cat <<-EOF | info
- Finishing CI job at: $(now)
- Exit status was $STATUS
- Re-run with:
- \$ $CMD
- $(duration)
- EOF
-
- 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
-
- Exit status: $STATUS
- Duration: $RUN_DURATION
- EOF
- )"
- git notes --ref=refs/notes/ci-data add -f -m "$(
- cat <<-EOF
- status $STATUS
- sha $SHA
- filename $FILENAME
- duration $RUN_DURATION
- timestamp $TIMESTAMP
- to-prod $TO_PROD
- refname $REFNAME
- EOF
- )" "$SHA"
- git notes --ref=refs/notes/ci-logs add -f -F "$LOGFILE" "$SHA"
- git notes add -f -m "$NOTE" "$SHA"
-
- {
- printf 'Git CI HTML report for %s (%s) started.\n' "$NAME" "$SHA" >&2
- DIR="$(mkdtemp)"
- report -o "$DIR"
- sudo -u deployer rsync \
- --chmod=D775,F664 \
- --chown=deployer:deployer \
- --delete \
- -a \
- "$DIR"/ "$HTML_OUTDIR_CI"/
- rm -rf "$DIR"
- printf 'Git CI HTML report for %s (%s) finished.\n' "$NAME" "$SHA" >&2
- } 2>&1 | logger -i -p local0.warn -t git-ci 1>/dev/null 2>&1 &
- }
- trap finish EXIT
-
- unset GIT_DIR
-
- if [ "$REFNAME" = 'refs/heads/main' ] && [ "$SKIP_DEPLOY" = false ]; then
- cat <<-EOF | info
- In branch "main", running deploy for $SHA.
- EOF
- TO_PROD=true
- CMD="sudo reconfigure $SHA"
- else
- if [ "$SKIP_DEPLOY" = true ]; then
- cat <<-EOF | info
- "deploy.skip" option detected, skipping deploy for $SHA.
- EOF
- else
- cat <<-EOF | info
- Not on branch "main", skipping deploy for $SHA.
- EOF
- fi
- TO_PROD=false
- CMD="sudo reconfigure -n $SHA"
- fi
- $CMD
-} 2>&1 | ts -s '%.s' | tee "$LOGFILE"
diff --git a/src/ci/git-pre-receive.sh b/src/ci/git-pre-receive.sh
deleted file mode 100755
index 051aec5..0000000
--- a/src/ci/git-pre-receive.sh
+++ /dev/null
@@ -1,14 +0,0 @@
-#!/bin/sh
-set -eu
-
-read -r _oldrev SHA _refname
-unset GIT_DIR
-
-if [ "$SHA" = '0000000000000000000000000000000000000000' ]; then
- exit
-fi
-
-printf 'Upgrading post-receive hook...' >&2
-git show "$SHA":src/ci/git-post-receive.sh > hooks/post-receive
-chmod +x hooks/post-receive
-printf 'done.\n' >&2