Fix redundantSelf crash on switch expression inside if-let binding chain #93
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: "Label Fixed Issues" | |
| on: | |
| pull_request: | |
| types: [closed] | |
| branches: | |
| - develop | |
| jobs: | |
| label-issues: | |
| name: "Add 'fixed in develop' label to referenced issues" | |
| runs-on: ubuntu-latest | |
| # Only run if the PR was actually merged (not just closed) | |
| if: github.event.pull_request.merged == true | |
| permissions: | |
| issues: write | |
| pull-requests: read | |
| steps: | |
| - name: Extract issue numbers from PR | |
| id: extract_issues | |
| uses: actions/github-script@v8 | |
| with: | |
| script: | | |
| const prBody = context.payload.pull_request.body || ''; | |
| const prTitle = context.payload.pull_request.title || ''; | |
| const combinedText = `${prTitle}\n${prBody}`; | |
| // Match patterns like "fixes #123", "fixes owner/repo#456", | |
| // "fixes https://github.com/owner/repo/issues/789", etc. | |
| // This regex matches common GitHub issue reference patterns | |
| const issueRegex = /(?:close[sd]?|fix(?:e[sd])?|resolve[sd]?|ref(?:erence)?|see|issue)\s+(?:https?:\/\/github\.com\/[^\/]+\/[^\/]+\/issues\/(\d+)|[^\/\s]+\/[^\/\s]+#(\d+)|[:#]?\s*(\d+))|#(\d+)/gi; | |
| const matches = [...combinedText.matchAll(issueRegex)]; | |
| // Extract unique issue numbers | |
| const issueNumbers = [...new Set(matches.map(match => match[1] || match[2] || match[3] || match[4]))]; | |
| console.log(`Found issue references: ${issueNumbers.join(', ')}`); | |
| return issueNumbers; | |
| - name: Add label to issues | |
| uses: actions/github-script@v8 | |
| with: | |
| script: | | |
| const issueNumbers = ${{ steps.extract_issues.outputs.result }}; | |
| if (!issueNumbers || issueNumbers.length === 0) { | |
| console.log('No issues found to label'); | |
| return; | |
| } | |
| const label = 'fixed in develop'; | |
| const owner = context.repo.owner; | |
| const repo = context.repo.repo; | |
| for (const issueNumber of issueNumbers) { | |
| try { | |
| // Add the label to the issue | |
| await github.rest.issues.addLabels({ | |
| owner, | |
| repo, | |
| issue_number: parseInt(issueNumber), | |
| labels: [label], | |
| }); | |
| console.log(`Added '${label}' label to issue #${issueNumber}`); | |
| } catch (error) { | |
| const msg = `Failed to label issue #${issueNumber}`; | |
| console.error(`${msg}: ${error.message}`); | |
| } | |
| } |