This is an automated email from the ASF dual-hosted git repository. rusackas pushed a commit to branch label-issue-closing-PRs in repository https://gitbox.apache.org/repos/asf/superset.git
commit 268fe95f839e74c6a012f7f990d75d376106eb1b Author: Evan Rusackas <[email protected]> AuthorDate: Wed Feb 7 23:24:38 2024 -0700 feat(actions): auto-label PRs that close issues. --- .github/workflows/labeler.yml | 45 ++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 44 insertions(+), 1 deletion(-) diff --git a/.github/workflows/labeler.yml b/.github/workflows/labeler.yml index 15a41995d1..7590c99d9b 100644 --- a/.github/workflows/labeler.yml +++ b/.github/workflows/labeler.yml @@ -1,8 +1,28 @@ name: "Pull Request Labeler" on: -- pull_request_target + pull_request_target: + types: [opened, reopened, synchronize] + +# cancel previous workflow jobs for PRs +concurrency: + group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.run_id }} + cancel-in-progress: true + jobs: + config: + runs-on: "ubuntu-latest" + outputs: + has-secrets: ${{ steps.check.outputs.has-secrets }} + steps: + - name: "Check for secrets" + id: check + shell: bash + run: | + if [ -n "${{ (secrets.GITHUB_TOKEN != '') || '' }}" ]; then + echo "has-secrets=1" >> "$GITHUB_OUTPUT" + fi + labeler: permissions: contents: read @@ -19,3 +39,26 @@ jobs: # run: | # echo "Running translation scripts" # # Generate .pot -> .po -> .json files + + label-auto-closing: + needs: config + if: needs.config.outputs.has-secrets + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + - name: Auto-label PRs + uses: actions/github-script@v7 + with: + github-token: ${{secrets.GITHUB_TOKEN}} + script: | + const closingKeywords = /close|closes|closed|fix|fixes|fixed|resolve|resolves|resolved #[0-9]+/gi; + const prBody = context.payload.pull_request.body; + const issueNumbers = prBody.match(closingKeywords); + if (issueNumbers) { + github.issues.addLabels({ + owner: context.repo.owner, + repo: context.repo.repo, + issue_number: context.issue.number, + labels: ['closes-issue'] + }); + } \ No newline at end of file
