Fix: GITHUB_OUTPUT und persist-credentials für Runner
This commit is contained in:
76
.gitea/workflows/update-laws.yaml
Normal file
76
.gitea/workflows/update-laws.yaml
Normal file
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user