.profile/.gitea/workflows/update-profile.yml

67 lines
2.2 KiB
YAML

name: Update Gitea Profile & Team Telemetry
on:
schedule:
# Täglich um 00:00 Uhr UTC
- cron: '0 0 * * *'
# Erlaubt das manuelle Ausführen über das Gitea Web-Interface
workflow_dispatch:
# Optional: Auch ausführen, wenn manuelle Änderungen an Code oder README gepusht werden
push:
branches:
- main
paths-ignore:
- 'heatmap.svg'
- 'team-stats.svg'
- 'productivity.svg'
- 'README.md'
jobs:
update-profile:
runs-on: ubuntu-latest
# Berechtigungen für das Schreiben ins Repository
permissions:
contents: write
steps:
- name: 📥 Repository auschecken
uses: actions/checkout@v4
with:
fetch-depth: 0
token: ${{ secrets.GITEA_TOKEN || secrets.GITHUB_TOKEN }}
- name: ⚙️ .NET 10 SDK einrichten
uses: actions/setup-dotnet@v4
with:
dotnet-version: '10.0.x'
- name: 🚀 C# Profile-Manager ausführen
env:
GITEA_API_URL: 'https://git.webcore-consulting.dev/api/v1'
GITEA_USERNAME: 'NickiCloud'
GITEA_TOKEN: ${{ secrets.GITEA_TOKEN || secrets.GITHUB_TOKEN }}
run: |
dotnet run --project src/ProfileManager
- name: 📝 Änderungen prüfen, committen und pushen
run: |
# Git-Identität für den Bot konfigurieren
git config --global user.name "NickiBot[bot]"
git config --global user.email "bot@webcore-consulting.dev"
# Prüfen, ob sich SVG-Dateien oder README.md geändert haben
if git status --porcelain | grep -E "(heatmap.svg|team-stats.svg|productivity.svg|README.md)"; then
echo "Änderungen an Grafiken oder README.md erkannt. Committe..."
git add heatmap.svg team-stats.svg productivity.svg README.md
# GANZ WICHTIG: [skip ci] verhindert Endlosschleifen in Gitea Actions!
git commit -m "chore(profile): update personal & team telemetry [skip ci]"
# Änderungen pushen
git push
echo "Profil & Team-Telemetrie erfolgreich aktualisiert und gepusht! ✨"
else
echo "Keine Änderungen vorhanden. Alles auf dem neuesten Stand. 👍"
fi