You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
75 lines
2.2 KiB
75 lines
2.2 KiB
# Copyright © 2023 OpenIM. All rights reserved.
|
|
#
|
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
# you may not use this file except in compliance with the License.
|
|
# You may obtain a copy of the License at
|
|
#
|
|
# http://www.apache.org/licenses/LICENSE-2.0
|
|
#
|
|
# Unless required by applicable law or agreed to in writing, software
|
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
# See the License for the specific language governing permissions and
|
|
# limitations under the License.
|
|
|
|
# shamelessly copied from https://github.com/sigstore/cosign/blob/main/.github/workflows/milestone.yaml
|
|
|
|
name: milestone
|
|
|
|
on:
|
|
pull_request_target:
|
|
types: [closed]
|
|
branches:
|
|
- main
|
|
|
|
jobs:
|
|
milestone:
|
|
runs-on: ubuntu-latest
|
|
|
|
permissions:
|
|
actions: none
|
|
checks: none
|
|
contents: read
|
|
deployments: none
|
|
issues: write
|
|
packages: none
|
|
pull-requests: write
|
|
repository-projects: none
|
|
security-events: none
|
|
statuses: none
|
|
|
|
steps:
|
|
- uses: actions/github-script@v7 # v6
|
|
with:
|
|
github-token: ${{ secrets.BOT_GITHUB_TOKEN }}
|
|
script: |
|
|
if (!context.payload.pull_request.merged) {
|
|
console.log('PR was not merged, skipping.');
|
|
return;
|
|
}
|
|
|
|
if (!!context.payload.pull_request.milestone) {
|
|
console.log('PR has existing milestone, skipping.');
|
|
return;
|
|
}
|
|
|
|
milestones = await github.rest.issues.listMilestones({
|
|
owner: context.repo.owner,
|
|
repo: context.repo.repo,
|
|
state: 'open',
|
|
sort: 'title',
|
|
direction: 'desc'
|
|
})
|
|
|
|
if (milestones.data.length === 0) {
|
|
console.log('There are no milestones, skipping.');
|
|
return;
|
|
}
|
|
|
|
await github.rest.issues.update({
|
|
owner: context.repo.owner,
|
|
repo: context.repo.repo,
|
|
issue_number: context.payload.pull_request.number,
|
|
milestone: milestones.data[0].number
|
|
});
|