Files
infra-maintenance/.gitea/workflows/authelia.yaml
Matthias Berner 7530cc2c5f
Some checks failed
Authelia Update Check / check-and-notify (push) Failing after 25s
continuous-integration/drone/push Build was killed
workflows
2026-01-11 16:10:35 +01:00

74 lines
2.7 KiB
YAML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
name: Authelia Update Check
on:
push:
workflow_dispatch:
inputs:
args:
description: 'Argumente für das Script'
required: false
default: ''
schedule:
- cron: '0 4 * * *' # Täglich um 4 Uhr morgens
jobs:
check-and-notify:
runs-on: ubuntu-latest # Oder dein eigener Gitea-Runner
steps:
- name: SSH Execution and Logic
id: ssh_step
uses: appleboy/ssh-action@v1.0.3
with:
host: 10.0.4.18
username: root
password: ${{ secrets.PASSWORD_AUTHELIA }}
port: 22
# Wir übergeben die UI-Inputs oder leere Strings
envs: ARGS
env:
ARGS: ${{ github.event.inputs.args }}
script: |
fetch -o /tmp/authelia-update.sh https://git.familie-berner.de/Open/infra-maintenance/raw/branch/main/authelia/authelia-update.sh
chmod +x /tmp/authelia-update.sh
set +e
timeout 10m /tmp/authelia-update.sh $ARGS
EXIT_CODE=$?
set -e
case $EXIT_CODE in
0) MSG="✅ Update erfolgreich / Alles aktuell" ;;
10) MSG=" Update verfügbar, aber nicht angewendet" ;;
64) MSG="❌ Fehler: Ungültige Parameter" ;;
69) MSG="🌐 Fehler: Netzwerk/GitHub nicht erreichbar" ;;
70) MSG="📂 Fehler: Authelia Binary nicht gefunden" ;;
72) MSG="↩ Fehler: Kein Backup gefunden" ;;
75) MSG="🔥 KRITISCH: Dienst startet nicht!" ;;
*) MSG="❓ Unbekannter Fehler (Code: $EXIT_CODE)" ;;
esac
# Der Trick für Gitea Actions: Wir schreiben den Text in den GITHUB_OUTPUT
echo "status_msg=$MSG" >> $GITHUB_OUTPUT
echo "exit_code=$EXIT_CODE" >> $GITHUB_OUTPUT
# Wenn es ein echter Fehler ist (>10), lassen wir den Step fehlschlagen
if [ $EXIT_CODE -ne 0 ] && [ $EXIT_CODE -ne 10 ]; then exit $EXIT_CODE; fi
- name: Matrix Notification
# Läuft immer, auch wenn der SSH-Step fehlschlägt
if: always()
uses: s3rj1k/matrix-action@v2
with:
template: |
### Authelia Update Bericht
**Status:** ${{ steps.ssh_step.outputs.status_msg || 'Build abgebrochen' }}
**Event:** `${{ github.event_name }}`
**Build:** [#${{ github.run_number }}](${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }})
**Details:**
Exit-Code: `${{ steps.ssh_step.outputs.exit_code }}`
server: 'https://matrix.familie-berner.de'
room_id: ${{ secrets.ROOMID_MATRIX }}
user_id: ${{ secrets.USERID_MATRIX }}
password: ${{ secrets.PASSWORD_MATRIX }}