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 });