All checks were successful
CI / lint (push) Successful in 25s
CI / test (push) Successful in 1m38s
CI / validate-json (push) Successful in 24s
CI / markdown-links (push) Successful in 15s
Deploy site / deploy (push) Successful in 4s
Build ISO / build-iso (push) Successful in 18m59s
The runner job runs as root, which left /srv/furtka-site and /var/www/furtka.org root-owned and broke the manual deploy.sh path. Runner capacity on forge-runner-01 raised to 2 alongside this, so the site deploy no longer queues behind an ISO build. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01MScAinbyMdeNc7H2BZdnnG
33 lines
1.1 KiB
Bash
Executable file
33 lines
1.1 KiB
Bash
Executable file
#!/usr/bin/env bash
|
|
# Auto-deploy path run by .forgejo/workflows/deploy-site.yml inside the
|
|
# self-hosted runner — which is forge-runner-01, the actual web server.
|
|
# Same effect as deploy.sh but without the SSH hop: everything is local.
|
|
#
|
|
# Requires `rsync` and `hugo` on PATH. The workflow apk-installs both
|
|
# before invoking this script.
|
|
set -euo pipefail
|
|
|
|
HERE="$(cd "$(dirname "$0")" && pwd)"
|
|
SRCROOT="${FURTKA_SRCROOT:-/srv/furtka-site}"
|
|
WEBROOT="${FURTKA_WEBROOT:-/var/www/furtka.org}"
|
|
|
|
echo "==> rsync website/ → $SRCROOT"
|
|
rsync -az --delete \
|
|
--exclude='.hugo_build.lock' \
|
|
--exclude='public/' \
|
|
--exclude='resources/' \
|
|
--exclude='deploy.sh' \
|
|
--exclude='deploy-ci.sh' \
|
|
"$HERE/" "$SRCROOT/"
|
|
|
|
echo "==> hugo build → $WEBROOT"
|
|
cd "$SRCROOT"
|
|
hugo --minify --cleanDestinationDir -d "$WEBROOT"
|
|
|
|
# The runner job runs as root inside the container; hand the trees back
|
|
# to the VM user so the manual deploy.sh path keeps working afterwards.
|
|
if [ "$(id -u)" = 0 ]; then
|
|
chown -R "${FURTKA_OWNER:-1000:1000}" "$SRCROOT" "$WEBROOT"
|
|
fi
|
|
|
|
echo "OK: deployed to https://furtka.org/"
|