github.com/goreleaser/goreleaser@v1.25.1/.github/workflows/milestone.yml (about)

     1  # shamelessly copied from https://github.com/sigstore/cosign/blob/main/.github/workflows/milestone.yaml
     2  
     3  name: milestone
     4  
     5  on:
     6    pull_request_target:
     7      types: [closed]
     8      branches:
     9        - main
    10  
    11  jobs:
    12    milestone:
    13      runs-on: ubuntu-latest
    14  
    15      permissions:
    16        actions: none
    17        checks: none
    18        contents: read
    19        deployments: none
    20        issues: write
    21        packages: none
    22        pull-requests: write
    23        repository-projects: none
    24        security-events: none
    25        statuses: none
    26  
    27      steps:
    28        - uses: actions/github-script@60a0d83039c74a4aee543508d2ffcb1c3799cdea # v6
    29          with:
    30            script: |
    31              if (!context.payload.pull_request.merged) {
    32                console.log('PR was not merged, skipping.');
    33                return;
    34              }
    35  
    36              if (!!context.payload.pull_request.milestone) {
    37                console.log('PR has existing milestone, skipping.');
    38                return;
    39              }
    40  
    41              milestones = await github.rest.issues.listMilestones({
    42                owner: context.repo.owner,
    43                repo: context.repo.repo,
    44                state: 'open',
    45                sort: 'due_on',
    46                direction: 'asc'
    47              })
    48              if (milestones.data.length === 0) {
    49                console.log('There are no milestones, skipping.');
    50                return;
    51              }
    52  
    53              await github.rest.issues.update({
    54                owner: context.repo.owner,
    55                repo: context.repo.repo,
    56                issue_number: context.payload.pull_request.number,
    57                milestone: milestones.data[0].number
    58              });