name: Update Milestone

on:
  pull_request_target:
    types:
      - closed
      - opened
      - reopened
      - synchronize

jobs:
  update_milestone:
    runs-on: ubuntu-latest
    steps:
      - name: Checkout
        uses: actions/checkout@v4.2.2
        with:
          ref: ${{ github.sha }}
          fetch-depth: 0

      - uses: actions/setup-dotnet@v4

      - name: Fetch all history for all tags and branches
        run: git fetch --prune

      - name: Install GitVersion
        if: ${{ github.event.action == 'opened' }}
        uses: gittools/actions/gitversion/setup@v3.1.11
        with:
          versionSpec: '5.x'

      - name: Install GitReleaseManager
        if: ${{ github.event.action == 'opened' }}
        uses: gittools/actions/gitreleasemanager/setup@v3.1.11
        with:
          versionSpec: '0.15.x'

      - name: Use GitVersion
        if: ${{ github.event.action == 'opened' }}
        id: gitversion
        uses: gittools/actions/gitversion/execute@v3.1.11

      - name: Create Milestone
        if: ${{ github.event.action == 'opened' }}
        uses: WyriHaximus/github-action-create-milestone@v1
        with:
          title: v${{ steps.gitversion.outputs.majorMinorPatch }}
        env:
          GITHUB_TOKEN: '${{ secrets.GITHUB_TOKEN }}'
        continue-on-error: true

      - name: sync milestones
        uses: RocketSurgeonsGuild/actions/sync-milestone@v0.3.15
        with:
          default-label: 'mysterious'
          github-token: ${{ secrets.GITHUB_TOKEN }}