ci: add reviewer based on label

Also remove CODEOWNERS since this is a superior solution.
This commit is contained in:
Dundar Göc 2022-01-06 20:59:31 +01:00
parent c7ffe406bc
commit fd71162428
2 changed files with 65 additions and 3 deletions

3
.github/CODEOWNERS vendored
View File

@ -1,3 +0,0 @@
/.github/ @jamessan
/ci/ @jamessan
/scripts/ @jamessan

View File

@ -32,3 +32,68 @@ jobs:
- name: "Extract commit scope and add as label"
continue-on-error: true
run: gh pr edit "$PR_NUMBER" --add-label "$(echo "$PR_TITLE" | sed -E 's|[[:alpha:]]+\((.+)\)!?:.*|\1|')"
add-reviewer:
runs-on: ubuntu-latest
needs: ["triage", "type-scope"]
permissions:
contents: write
pull-requests: write
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
GH_REPO: ${{ github.repository }}
PR_NUMBER: ${{ github.event.pull_request.number }}
steps:
- name: Get labels
id: labels
run: echo "::set-output name=labels::$(gh pr view $PR_NUMBER --json labels --jq '.labels.[].name' | tr '\n' '%')"
# The % at the end of the label is a hack to avoid selecting a label that
# is substring of another label. So if there is a label "cinema" then we
# don't accidentally want to interpret that as the label "ci"
- if: contains(steps.labels.outputs.labels, 'api%')
run: gh pr edit $PR_NUMBER --add-reviewer bfredl,gpanders,muniter
- if: contains(steps.labels.outputs.labels, 'ci%')
run: gh pr edit $PR_NUMBER --add-reviewer jamessan
- if: contains(steps.labels.outputs.labels, 'diagnostic%')
run: gh pr edit $PR_NUMBER --add-reviewer gpanders
- if: contains(steps.labels.outputs.labels, 'distribution%')
run: gh pr edit $PR_NUMBER --add-reviewer jamessan
- if: contains(steps.labels.outputs.labels, 'documentation%')
run: gh pr edit $PR_NUMBER --add-reviewer clason
- if: contains(steps.labels.outputs.labels, 'extmarks%')
run: gh pr edit $PR_NUMBER --add-reviewer bfredl
- if: contains(steps.labels.outputs.labels, 'filetype%')
run: gh pr edit $PR_NUMBER --add-reviewer clason,gpanders
- if: contains(steps.labels.outputs.labels, 'gui%')
run: gh pr edit $PR_NUMBER --add-reviewer glacambre,smolck
- if: contains(steps.labels.outputs.labels, 'platform:windows%')
run: gh pr edit $PR_NUMBER --add-reviewer erw7
- if: contains(steps.labels.outputs.labels, 'lsp%')
run: gh pr edit $PR_NUMBER --add-reviewer mfussenegger,mjlbach
- if: contains(steps.labels.outputs.labels, 'terminal%')
run: gh pr edit $PR_NUMBER --add-reviewer erw7
- if: contains(steps.labels.outputs.labels, 'treesitter%')
run: gh pr edit $PR_NUMBER --add-reviewer bfredl,vigoux
- if: contains(steps.labels.outputs.labels, 'typo%')
run: gh pr edit $PR_NUMBER --add-reviewer dundargoc
- if: contains(steps.labels.outputs.labels, 'ui%')
run: gh pr edit $PR_NUMBER --add-reviewer bfredl
- if: contains(steps.labels.outputs.labels, 'vim-patch%')
run: gh pr edit $PR_NUMBER --add-reviewer janlazo,seandewar