# Description:
#   - Add milestone to a merged PR automatically
#   - Add milestone to a closed issue that has a merged PR fix (if any)

name: Milestone Action
on:
  issues:
    types: [closed]
  pull_request_target:
    types: [closed]

jobs:
  update-milestone:
    # Ignore bot-authored pull requests (dependabot, app bots, etc)
    # and CI-only PRs.
    if: github.event_name == 'issues' || (github.event.pull_request.user.type != 'Bot' && !startsWith(github.event.pull_request.title, 'ci:'))
    runs-on: namespace-profile-ghostty-sm
    name: Milestone Update
    steps:
      - name: Set Milestone for PR
        uses: hustcer/milestone-action@ebed8d5daafd855a600d7e665c1b130f06d24130 # v3.1
        if: github.event.pull_request.merged == true && !contains(github.event.pull_request.title, 'VOUCHED') && !startsWith(github.event.pull_request.title, 'ci:')
        with:
          action: bind-pr # `bind-pr` is the default action
          github-token: ${{ secrets.GITHUB_TOKEN }}

      # Bind milestone to closed issue that has a merged PR fix
      - name: Set Milestone for Issue
        uses: hustcer/milestone-action@ebed8d5daafd855a600d7e665c1b130f06d24130 # v3.1
        if: github.event.issue.state == 'closed'
        with:
          action: bind-issue
          github-token: ${{ secrets.GITHUB_TOKEN }}
