|
|
@@ -23,7 +23,7 @@ jobs:
|
|
|
if: github.repository_owner == 'GameServerManagers'
|
|
|
runs-on: ubuntu-latest
|
|
|
steps:
|
|
|
- - name: Set PR milestone and update linked issues
|
|
|
+ - name: Sync selected milestone to linked issues
|
|
|
uses: actions/github-script@v9
|
|
|
with:
|
|
|
script: |
|
|
|
@@ -36,23 +36,7 @@ jobs:
|
|
|
return;
|
|
|
}
|
|
|
|
|
|
- let milestone = pr.milestone;
|
|
|
- if (!milestone && ['opened', 'reopened', 'ready_for_review'].includes(action)) {
|
|
|
- const open = await github.paginate(github.rest.issues.listMilestones, { owner, repo, state: 'open', per_page: 100 });
|
|
|
- open.sort((a, b) => {
|
|
|
- if (a.due_on && b.due_on) return a.due_on.localeCompare(b.due_on);
|
|
|
- if (a.due_on) return -1;
|
|
|
- if (b.due_on) return 1;
|
|
|
- return a.number - b.number;
|
|
|
- });
|
|
|
- if (open.length === 0) {
|
|
|
- core.warning('No open milestone to assign.');
|
|
|
- } else {
|
|
|
- milestone = open[0];
|
|
|
- await github.rest.issues.update({ owner, repo, issue_number: pr.number, milestone: milestone.number });
|
|
|
- core.info(`Set PR #${pr.number} milestone to ${milestone.title}.`);
|
|
|
- }
|
|
|
- }
|
|
|
+ const milestone = pr.milestone;
|
|
|
|
|
|
const body = (pr.body || '').replace(/<!--[\s\S]*?-->/g, '');
|
|
|
const issueRef = /\b(close[sd]?|fix(?:e[sd])?|resolve[sd]?|related to):?\s+(?:([\w.-]+)\/([\w.-]+))?#(\d+)/gi;
|