name: Update Gitea Profile 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' - '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 # Nutzt standardmäßig das automatische Gitea-Token oder ein benutzerdefiniertes Secret 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 heatmap.svg oder README.md geändert haben if git status --porcelain | grep -E "(heatmap.svg|README.md)"; then echo "Änderungen an heatmap.svg oder README.md erkannt. Committe..." git add heatmap.svg README.md # GANZ WICHTIG: [skip ci] verhindert Endlosschleifen in Gitea Actions! git commit -m "chore(profile): update activity heatmap & stats [skip ci]" # Änderungen pushen git push echo "Profil erfolgreich aktualisiert und gepusht! ✨" else echo "Keine Änderungen vorhanden. Alles auf dem neuesten Stand. 👍" fi