From 51dda630d1899dcb992237a1f390eca8891ab63c Mon Sep 17 00:00:00 2001 From: Johannes Marbach Date: Fri, 27 Oct 2023 16:24:30 +0200 Subject: [PATCH 1/2] 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 0000000..109c212 --- /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 From 4a7258cc87d543d0f9db4533a55df998fcff16c6 Mon Sep 17 00:00:00 2001 From: Johannes Marbach Date: Mon, 6 Nov 2023 14:14:19 +0100 Subject: [PATCH 2/2] Call workflow from element-web --- .github/workflows/triage-labelled.yml | 157 +------------------------- 1 file changed, 2 insertions(+), 155 deletions(-) diff --git a/.github/workflows/triage-labelled.yml b/.github/workflows/triage-labelled.yml index 109c212..834ed51 100644 --- a/.github/workflows/triage-labelled.yml +++ b/.github/workflows/triage-labelled.yml @@ -5,158 +5,5 @@ on: 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 + call-triage-labelled: + uses: vector-im/element-web/.github/workflows/triage-labelled.yml@develop