Fix build

This commit is contained in:
edsea
2025-10-08 11:35:10 +02:00
parent 9d2cb407ff
commit 0183f4d027

View File

@@ -6,20 +6,20 @@ on:
jobs: jobs:
deploy: deploy:
runs-on: [ mainhost ] # keep your labels as-is runs-on: [ mainhost ] # must match your runner label (e.g. mainhost:host)
env: env:
SSH_HOST: ${{ secrets.SSH_HOST }} SSH_HOST: ${{ secrets.SSH_HOST }}
SSH_USER: ${{ secrets.SSH_USER }} SSH_USER: ${{ secrets.SSH_USER }}
SSH_KEY_PATH: /home/gitea-runner/.ssh/deploy_stellaamor SSH_KEY_PATH: ~/.ssh/deploy_stellaamor
SSH_OPTS: >-
-o BatchMode=yes -o IdentitiesOnly=yes -o NumberOfPasswordPrompts=0
-o ServerAliveInterval=15 -o ServerAliveCountMax=3
-o ConnectTimeout=20 -o StrictHostKeyChecking=no
APP_ROOT: /var/www/stellaamor APP_ROOT: /var/www/stellaamor
UPLOADS_DIR: uploads UPLOADS_DIR: uploads
KEEP_N: "5" KEEP_N: "5"
HEALTH_URL: https://stellaamor.com/ HEALTH_URL: https://stellaamor.com/
SERVICE_RELOAD: "systemctl reload apache2 || true" SERVICE_RELOAD: "systemctl reload apache2 || true"
SSH_OPTS: "-o BatchMode=yes -o IdentitiesOnly=yes -o NumberOfPasswordPrompts=0 \
-o ServerAliveInterval=15 -o ServerAliveCountMax=3 \
-o ConnectTimeout=20 -o StrictHostKeyChecking=no"
steps: steps:
- name: Checkout (pure git) - name: Checkout (pure git)
@@ -34,11 +34,10 @@ jobs:
install -m 700 -d ~/.ssh install -m 700 -d ~/.ssh
umask 177 umask 177
cat > ~/.ssh/deploy_stellaamor <<'KEY' cat > ~/.ssh/deploy_stellaamor <<'KEY'
${{ secrets.SSH_KEY_STELLAAMOR }} ${{ secrets.SSH_KEY_STELLAAMOR }}
KEY KEY
chmod 600 ~/.ssh/deploy_stellaamor chmod 600 ~/.ssh/deploy_stellaamor
- name: SSH smoke test - name: SSH smoke test
run: ssh $SSH_OPTS -i "$SSH_KEY_PATH" ${SSH_USER}@${SSH_HOST} true run: ssh $SSH_OPTS -i "$SSH_KEY_PATH" ${SSH_USER}@${SSH_HOST} true
@@ -54,18 +53,14 @@ jobs:
CUR="${APP}/current" CUR="${APP}/current"
UPLOADS="${{ env.UPLOADS_DIR }}" UPLOADS="${{ env.UPLOADS_DIR }}"
# build tar outside repo dir then move (avoid tar reading its own output)
tar -czf "$TAR" --exclude-vcs --exclude='./node_modules' --exclude="./${UPLOADS}" --exclude='./release' . tar -czf "$TAR" --exclude-vcs --exclude='./node_modules' --exclude="./${UPLOADS}" --exclude='./release' .
mkdir -p release && mv "$TAR" "release/${REL}.tar.gz" mkdir -p release && mv "$TAR" "release/${REL}.tar.gz"
# ensure layout
ssh $SSH_OPTS -i "$SSH_KEY_PATH" ${SSH_USER}@${SSH_HOST} \ ssh $SSH_OPTS -i "$SSH_KEY_PATH" ${SSH_USER}@${SSH_HOST} \
"set -e; sudo install -d -o ${SSH_USER} -g ${SSH_USER} -m 755 ${RELEASES} ${SHARED} ${SHARED}/${UPLOADS}" "set -e; sudo install -d -o ${SSH_USER} -g ${SSH_USER} -m 755 ${RELEASES} ${SHARED} ${SHARED}/${UPLOADS}"
# upload (verbose)
scp -O $SSH_OPTS -vvv -i "$SSH_KEY_PATH" "release/${REL}.tar.gz" ${SSH_USER}@${SSH_HOST}:/tmp/${REL}.tar.gz scp -O $SSH_OPTS -vvv -i "$SSH_KEY_PATH" "release/${REL}.tar.gz" ${SSH_USER}@${SSH_HOST}:/tmp/${REL}.tar.gz
# unpack/switch/reload/health/prune
ssh $SSH_OPTS -i "$SSH_KEY_PATH" ${SSH_USER}@${SSH_HOST} ' ssh $SSH_OPTS -i "$SSH_KEY_PATH" ${SSH_USER}@${SSH_HOST} '
set -euo pipefail set -euo pipefail
REL="'${REL}'"; APP="'${APP}'"; SHARED="'${SHARED}'"; RELEASES="'${RELEASES}'"; CUR="'${CUR}'"; UPLOADS="'${UPLOADS}'"; REL="'${REL}'"; APP="'${APP}'"; SHARED="'${SHARED}'"; RELEASES="'${RELEASES}'"; CUR="'${CUR}'"; UPLOADS="'${UPLOADS}'";