From 51dda630d1899dcb992237a1f390eca8891ab63c Mon Sep 17 00:00:00 2001 From: Johannes Marbach Date: Fri, 27 Oct 2023 16:24:30 +0200 Subject: [PATCH] Create triage-labelled.yml This copies https://github.com/vector-im/element-web/blob/develop/.github/workflows/triage-labelled.yml as I believe we want the same label automation in both repositories. --- .github/workflows/triage-labelled.yml | 162 ++++++++++++++++++++++++++ 1 file changed, 162 insertions(+) create mode 100644 .github/workflows/triage-labelled.yml diff --git a/.github/workflows/triage-labelled.yml b/.github/workflows/triage-labelled.yml new file mode 100644 index 0000000000..109c212637 --- /dev/null +++ b/.github/workflows/triage-labelled.yml @@ -0,0 +1,162 @@ +name: Move labelled issues to correct projects + +on: + issues: + types: [labeled] + +jobs: + apply_Z-Labs_label: + name: Add Z-Labs label for features behind labs flags + runs-on: ubuntu-latest + if: > + contains(github.event.issue.labels.*.name, 'A-Maths') || + contains(github.event.issue.labels.*.name, 'A-Message-Pinning') || + contains(github.event.issue.labels.*.name, 'A-Location-Sharing') || + contains(github.event.issue.labels.*.name, 'Z-IA') || + contains(github.event.issue.labels.*.name, 'A-Jump-To-Date ') || + contains(github.event.issue.labels.*.name, 'A-Themes-Custom') || + contains(github.event.issue.labels.*.name, 'A-E2EE-Dehydration') || + contains(github.event.issue.labels.*.name, 'A-Tags') || + contains(github.event.issue.labels.*.name, 'A-Video-Rooms') || + contains(github.event.issue.labels.*.name, 'A-Message-Starring') || + contains(github.event.issue.labels.*.name, 'A-Rich-Text-Editor') || + contains(github.event.issue.labels.*.name, 'A-Element-Call') || + contains(github.event.issue.labels.*.name, 'A-Element-R') + steps: + - uses: actions/github-script@v6 + with: + script: | + github.rest.issues.addLabels({ + issue_number: context.issue.number, + owner: context.repo.owner, + repo: context.repo.repo, + labels: ['Z-Labs'] + }) + + apply_Help-Wanted_label: + name: Add "Help Wanted" label to all "good first issue" and Hacktoberfest + runs-on: ubuntu-latest + if: > + contains(github.event.issue.labels.*.name, 'good first issue') || + contains(github.event.issue.labels.*.name, 'Hacktoberfest') + steps: + - uses: actions/github-script@v6 + with: + script: | + github.rest.issues.addLabels({ + issue_number: context.issue.number, + owner: context.repo.owner, + repo: context.repo.repo, + labels: ['Help Wanted'] + }) + + move_needs_info_issues: + name: X-Needs-Info issues to Need info column on triage board + runs-on: ubuntu-latest + steps: + - uses: konradpabjan/move-labeled-or-milestoned-issue@190352295fe309fcb113b49193bc81d9aaa9cb01 + with: + action-token: "${{ secrets.ELEMENT_BOT_TOKEN }}" + project-url: "https://github.com/vector-im/element-web/projects/27" + column-name: "Need info" + label-name: "X-Needs-Info" + + add_priority_design_issues_to_project: + name: P1 X-Needs-Design to Design project board + runs-on: ubuntu-latest + if: > + contains(github.event.issue.labels.*.name, 'X-Needs-Design') && + (contains(github.event.issue.labels.*.name, 'S-Critical') && + (contains(github.event.issue.labels.*.name, 'O-Frequent') || + contains(github.event.issue.labels.*.name, 'O-Occasional')) || + contains(github.event.issue.labels.*.name, 'S-Major') && + contains(github.event.issue.labels.*.name, 'O-Frequent') || + contains(github.event.issue.labels.*.name, 'A11y')) + steps: + - uses: actions/add-to-project@main + with: + project-url: https://github.com/orgs/vector-im/projects/18 + github-token: ${{ secrets.ELEMENT_BOT_TOKEN }} + + add_product_issues: + name: X-Needs-Product to product project board + runs-on: ubuntu-latest + if: > + contains(github.event.issue.labels.*.name, 'X-Needs-Product') + steps: + - uses: actions/add-to-project@main + with: + project-url: https://github.com/orgs/vector-im/projects/28 + github-token: ${{ secrets.ELEMENT_BOT_TOKEN }} + + Search_issues_to_board: + name: Search issues to project board + runs-on: ubuntu-latest + if: > + contains(github.event.issue.labels.*.name, 'A-New-Search-Experience') + steps: + - uses: actions/add-to-project@main + with: + project-url: https://github.com/orgs/vector-im/projects/48 + github-token: ${{ secrets.ELEMENT_BOT_TOKEN }} + + voip: + name: Add labelled issues to VoIP project board + runs-on: ubuntu-latest + if: > + contains(github.event.issue.labels.*.name, 'Team: VoIP') + steps: + - uses: actions/add-to-project@main + with: + project-url: https://github.com/orgs/vector-im/projects/41 + github-token: ${{ secrets.ELEMENT_BOT_TOKEN }} + + verticals_feature: + name: Add labelled issues to Verticals Feature project + runs-on: ubuntu-latest + if: > + contains(github.event.issue.labels.*.name, 'Team: Verticals Feature') + steps: + - uses: actions/add-to-project@main + with: + project-url: https://github.com/orgs/vector-im/projects/57 + github-token: ${{ secrets.ELEMENT_BOT_TOKEN }} + + tech_debt: + name: Add labelled issues to tech debt project + runs-on: ubuntu-latest + if: > + contains(github.event.issue.labels.*.name, 'A-Developer-Experience') || + contains(github.event.issue.labels.*.name, 'A-Documentation') || + contains(github.event.issue.labels.*.name, 'A-Packaging') || + contains(github.event.issue.labels.*.name, 'A-Technical-Debt') || + contains(github.event.issue.labels.*.name, 'A-Testing') || + contains(github.event.issue.labels.*.name, 'Z-Flaky-Test') + steps: + - uses: actions/add-to-project@main + with: + project-url: https://github.com/orgs/vector-im/projects/101 + github-token: ${{ secrets.ELEMENT_BOT_TOKEN }} + + element_r: + name: Add Element R issues to Crypto Team board + runs-on: ubuntu-latest + if: > + contains(github.event.issue.labels.*.name, 'A-Element-R') + steps: + - id: add_to_project + uses: actions/add-to-project@v0.5.0 + with: + project-url: ${{ env.PROJECT_URL }} + github-token: ${{ secrets.ELEMENT_BOT_TOKEN }} + + - id: set_fields + uses: titoportas/update-project-fields@020b5aa9db8f9501d4b16d6417c2132ff26e6279 # v0.1.0 + with: + project-url: ${{ env.PROJECT_URL }} + github-token: ${{ secrets.ELEMENT_BOT_TOKEN }} + item-id: ${{ steps.add_to_project.outputs.itemId }} # Use the item-id output of the previous step + field-keys: Workstream,module + field-values: Element-R,web + env: + PROJECT_URL: https://github.com/orgs/vector-im/projects/76