From 73c1f5273d26dfc13d737ad7b38a26024a83a39d Mon Sep 17 00:00:00 2001 From: Michael Hermann Date: Wed, 19 Nov 2025 13:54:43 +0100 Subject: [PATCH] =?UTF-8?q?Fix:=20GITHUB=5FOUTPUT=20und=20persist-credenti?= =?UTF-8?q?als=20f=C3=BCr=20Runner?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitea/workflows/update-laws.yaml | 76 +++++++++++++++++++++++++++++++ 1 file changed, 76 insertions(+) create mode 100644 .gitea/workflows/update-laws.yaml diff --git a/.gitea/workflows/update-laws.yaml b/.gitea/workflows/update-laws.yaml new file mode 100644 index 00000000..c451a6dc --- /dev/null +++ b/.gitea/workflows/update-laws.yaml @@ -0,0 +1,76 @@ +name: Update Laws from RSS + +on: + schedule: + # Täglich um 02:00 UTC (03:00 MEZ / 04:00 MESZ) + - cron: '0 2 * * *' + # Manueller Trigger für Tests + workflow_dispatch: + +jobs: + update: + runs-on: ubuntu-latest + steps: + - name: Checkout repository + uses: actions/checkout@v4 + with: + fetch-depth: 0 # Vollständige Historie für Git-Operationen + persist-credentials: true # Credentials für Push speichern + + - name: Set up Python + uses: actions/setup-python@v5 + with: + python-version: '3.11' + + - name: Install dependencies + run: | + pip install --upgrade pip + pip install -r requirements.txt + + - name: Run update script + run: | + python3 update_laws.py + continue-on-error: true # Weiterlaufen auch bei Fehlern + + - name: Convert XML to Markdown + if: success() || failure() # Immer ausführen, auch wenn Update fehlschlug + run: | + python3 xml_to_markdown.py --prod || echo "Konvertierung fehlgeschlagen oder keine Änderungen" + continue-on-error: true + + - name: Configure Git + run: | + git config --global user.name 'LawGit Bot' + git config --global user.email 'bot@git.coded.law' + git config --global init.defaultBranch main + + - name: Check for changes + id: check_changes + run: | + git add -A + if git diff --staged --quiet; then + echo "changed=false" >> $GITHUB_OUTPUT + echo "Keine Änderungen gefunden" + else + echo "changed=true" >> $GITHUB_OUTPUT + echo "Änderungen gefunden" + git status + fi + + - name: Commit and push changes + if: steps.check_changes.outputs.changed == 'true' + run: | + git commit -m "Daily law updates from RSS - $(date +'%Y-%m-%d %H:%M:%S UTC')" || exit 0 + git push origin main || echo "Push fehlgeschlagen" + + - name: Summary + if: always() + run: | + echo "## Update-Zusammenfassung" + echo "- Workflow ausgeführt: $(date)" + if [ "${{ steps.check_changes.outputs.changed }}" == "true" ]; then + echo "- ✅ Änderungen wurden committed und gepusht" + else + echo "- ℹ️ Keine Änderungen gefunden" + fi +