66 lines
2.2 KiB
YAML
66 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'
|
|
- '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|README.md)"; then
|
|
echo "Änderungen an Grafiken oder README.md erkannt. Committe..."
|
|
git add heatmap.svg team-stats.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
|