diff --git a/.github/workflows/auto-merge-staging-into-main.yml b/.github/workflows/auto-merge-staging-into-main.yml index 03ec7c09..33951c18 100644 --- a/.github/workflows/auto-merge-staging-into-main.yml +++ b/.github/workflows/auto-merge-staging-into-main.yml @@ -1,8 +1,7 @@ name: Auto Merge Staging into Main - on: schedule: - - cron: '0 2 * * *' # 2:00 UTC = 4:00 Europäische Zeit + - cron: '0 2 * * *' # 2:00 UTC = 4:00 Europäische Zeit workflow_dispatch: jobs: @@ -13,17 +12,17 @@ jobs: uses: actions/checkout@v4 with: fetch-depth: 0 - + - name: Set Git user run: | git config user.name "github-actions[bot]" git config user.email "github-actions[bot]@users.noreply.github.com" - + - name: Fetch all branches run: | git fetch origin main git fetch origin staging - + - name: Check if main has commits not in staging id: check run: | @@ -32,28 +31,21 @@ jobs: echo "❌ Staging is behind main and requires manual merging." exit 1 fi - - - name: Checkout staging and create branch - id: create_branch - run: | - git checkout staging - git checkout -b auto-merge/staging-to-main - git push origin auto-merge/staging-to-main - + - name: Create PR from staging → main id: create_pr uses: peter-evans/create-pull-request@v4 with: token: ${{ secrets.GITHUB_TOKEN }} commit-message: "chore: auto-merge staging into main" - branch: auto-merge/staging-to-main + branch: staging base: main title: "Auto-merge staging into main" body: | This PR was created automatically by GitHub Actions. It merges the latest `staging` into `main`. draft: false - + - name: Enable auto-merge on PR if: steps.create_pr.outputs.pull-request-number != '' uses: peter-evans/enable-pull-request-automerge@v3 @@ -61,8 +53,7 @@ jobs: token: ${{ secrets.GITHUB_TOKEN }} pull-request-number: ${{ steps.create_pr.outputs.pull-request-number }} merge-method: merge - - + notify_failure: needs: merge if: failure() @@ -71,10 +62,10 @@ jobs: - name: Send Discord notification on failure run: | curl -H "Content-Type: application/json" \ - -X POST \ - -d "{\"content\": \"🚨 Auto-Merge fehlgeschlagen! Bitte manuell prüfen: https://github.com/${{ github.repository }}/actions/runs/${{ github.run_id }}\"}" \ - ${{ secrets.DISCORD_WEBHOOK_URL }} - + -X POST \ + -d "{\"content\": \"🚨 Auto-Merge fehlgeschlagen! Bitte manuell prüfen: https://github.com/${{ github.repository }}/actions/runs/${{ github.run_id }}\"}" \ + ${{ secrets.DISCORD_WEBHOOK_URL }} + notify_success: needs: merge if: success() @@ -83,6 +74,6 @@ jobs: - name: Send Discord notification on success run: | curl -H "Content-Type: application/json" \ - -X POST \ - -d "{\"content\": \"✅ Auto-Merge ausgeführt! Ergebnis jetzt auf [GitHub](https://github.com/${{ github.repository }}/actions/runs/${{ github.run_id }}) und [online-energieausweis.org](https://online-energieausweis.org) einsehen.\"}" \ - ${{ secrets.DISCORD_WEBHOOK_URL }} \ No newline at end of file + -X POST \ + -d "{\"content\": \"✅ Auto-Merge ausgeführt! Ergebnis jetzt auf [GitHub](https://github.com/${{ github.repository }}/actions/runs/${{ github.run_id }}) und [online-energieausweis.org](https://online-energieausweis.org) einsehen.\"}" \ + ${{ secrets.DISCORD_WEBHOOK_URL }} \ No newline at end of file