Player: clean up next video logic #386
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: PR and Issue Workflow | |
| on: | |
| pull_request: | |
| types: [opened, reopened] | |
| issues: | |
| types: [opened] | |
| jobs: | |
| auto-assign-and-label: | |
| runs-on: ubuntu-latest | |
| permissions: | |
| issues: write | |
| pull-requests: write | |
| steps: | |
| # Auto assign PR to author | |
| - name: Auto Assign PR to Author | |
| if: github.event.pull_request.head.repo.fork == false && github.event_name == 'pull_request' && github.actor != 'dependabot[bot]' | |
| uses: actions/github-script@v9 | |
| with: | |
| github-token: ${{ secrets.GITHUB_TOKEN }} | |
| script: | | |
| const pr = context.payload.pull_request; | |
| if (pr) { | |
| await github.rest.issues.addAssignees({ | |
| owner: context.repo.owner, | |
| repo: context.repo.repo, | |
| issue_number: pr.number, | |
| assignees: [pr.user.login] | |
| }); | |
| console.log(`Assigned PR #${pr.number} to author @${pr.user.login}`); | |
| } | |
| # Dynamic labeling based on PR/Issue title | |
| - name: Label PRs and Issues | |
| if: github.event.pull_request.head.repo.fork == false && github.actor != 'dependabot[bot]' | |
| env: | |
| GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
| uses: actions/github-script@v9 | |
| with: | |
| github-token: ${{ secrets.GITHUB_TOKEN }} | |
| script: | | |
| const prTitle = context.payload.pull_request ? context.payload.pull_request.title : context.payload.issue.title; | |
| const issueNumber = context.payload.pull_request ? context.payload.pull_request.number : context.payload.issue.number; | |
| const isIssue = context.payload.issue !== undefined; | |
| const labelMappings = [ | |
| { pattern: /^feat(ure)?/i, label: 'feature' }, | |
| { pattern: /^fix/i, label: 'bug' }, | |
| { pattern: /^refactor/i, label: 'refactor' }, | |
| { pattern: /^chore/i, label: 'chore' }, | |
| { pattern: /^docs?/i, label: 'documentation' }, | |
| { pattern: /^perf(ormance)?/i, label: 'performance' }, | |
| { pattern: /^test/i, label: 'testing' } | |
| ]; | |
| let labelsToAdd = []; | |
| for (const mapping of labelMappings) { | |
| if (mapping.pattern.test(prTitle)) { | |
| labelsToAdd.push(mapping.label); | |
| } | |
| } | |
| if (labelsToAdd.length > 0) { | |
| github.rest.issues.addLabels({ | |
| owner: context.repo.owner, | |
| repo: context.repo.repo, | |
| issue_number: issueNumber, | |
| labels: labelsToAdd | |
| }); | |
| } |