diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 2e883ea97..e6e055185 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -9,26 +9,42 @@ jobs: relabel-issues: runs-on: ubuntu-latest steps: - - name: find - id: find_issues - uses: peter-evans/find-issues@v3 + - name: relabel + uses: actions/github-script@v7 with: - query: 'is:open label:scheduled-next-release' - sort: created - direction: asc + script: | + const labelToFind = 'scheduled-next-release'; + const labelToAdd = 'fixed-pending-release'; + const per_page = 100; + let page = 1; + let issues = []; - - name: remove - if: steps.find_issues.outputs.issues != '' - uses: actions-ecosystem/action-remove-labels@v1 - with: - github_token: ${{ secrets.GITHUB_TOKEN }} - number: ${{ steps.find_issues.outputs.issue-number }} - labels: scheduled-next-release + while (true) { + const { data } = await github.rest.issues.listForRepo({ + owner: context.repo.owner, + repo: context.repo.repo, + state: 'open', + labels: labelToFind, + per_page, + page + }); + if (data.length === 0) break; + issues = issues.concat(data); + page++; + } - - name: add - if: steps.find_issues.outputs.issues != '' - uses: actions-ecosystem/action-add-labels@v1 - with: - github_token: ${{ secrets.GITHUB_TOKEN }} - issue_number: ${{ steps.find_issues.outputs.issue-number }} - labels: fixed-pending-release + for (const issue of issues) { + await github.rest.issues.removeLabel({ + owner: context.repo.owner, + repo: context.repo.repo, + issue_number: issue.number, + name: labelToFind + }); + await github.rest.issues.addLabels({ + owner: context.repo.owner, + repo: context.repo.repo, + issue_number: issue.number, + labels: [labelToAdd] + }); + console.log(`Issue #${issue.number} relabled.`); + }