Checkout ohne actions/checkout
Deploy auf den Timer-Server / deploy (push) Failing after 12s

Der erste Lauf brach im Runner-Image von Gitea 1.27 ab: die JS-Aktion
actions/checkout stirbt beim Aufruf von "git version" mit "read ENOTCONN"
- ein Node-24-Fehler im Container, nicht unser Workflow.

Der Code wird jetzt per Shell geklont. Das braucht kein Node und ist damit
unabhaengig vom Image. Geholt wird flach nach Commit-SHA, ersatzweise nach
Branch, falls der Server das Anfordern einzelner SHAs nicht erlaubt.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-09-04 17:58:29 +02:00
co-authored by Claude Opus 5
parent 1cd966a208
commit 307fec6b99
+16 -6
View File
@@ -24,13 +24,23 @@ jobs:
DEPLOY_KNOWN_HOSTS: ${{ secrets.DEPLOY_KNOWN_HOSTS }} DEPLOY_KNOWN_HOSTS: ${{ secrets.DEPLOY_KNOWN_HOSTS }}
steps: steps:
- name: Code auschecken # Bewusst kein actions/checkout: die JS-Aktion stirbt im Runner-Image
uses: actions/checkout@v4 # von Gitea 1.27 beim Aufruf von git mit "read ENOTCONN" (Node-24-Fehler
# im Container). Ein Klon per Shell umgeht das und braucht kein Node.
- name: Werkzeuge installieren - name: Werkzeuge und Code holen
env:
TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: | run: |
apt-get update -qq apt-get update -qq
apt-get install -y -qq rsync openssh-client apt-get install -y -qq git rsync openssh-client curl
rm -rf quelle && mkdir quelle && cd quelle
git init -q
git remote add origin "https://x-access-token:$TOKEN@${GITHUB_SERVER_URL#https://}/$GITHUB_REPOSITORY.git"
# Nach SHA, falls der Server das nicht erlaubt ersatzweise nach Branch.
git fetch -q --depth 1 origin "$GITHUB_SHA" || git fetch -q --depth 1 origin "$GITHUB_REF_NAME"
git checkout -q FETCH_HEAD
echo "Ausgecheckt: $(git log --oneline -1)"
- name: Konfiguration pruefen - name: Konfiguration pruefen
run: | run: |
@@ -63,7 +73,7 @@ jobs:
--exclude='.env' --exclude='.env.*' \ --exclude='.env' --exclude='.env.*' \
--exclude='data/' --exclude='node_modules/' \ --exclude='data/' --exclude='node_modules/' \
-e 'ssh -o BatchMode=yes' \ -e 'ssh -o BatchMode=yes' \
./ "$DEPLOY_USER@$DEPLOY_HOST:$DEPLOY_PATH/" | tee uebertragen.txt quelle/ "$DEPLOY_USER@$DEPLOY_HOST:$DEPLOY_PATH/" | tee uebertragen.txt
- name: Abhaengigkeiten, Neustart und Health-Check - name: Abhaengigkeiten, Neustart und Health-Check
run: | run: |