Skip to content

Commit

Permalink
Add Radius Triage Bot (radius-project#6638)
Browse files Browse the repository at this point in the history
# Description

This is a new GH actions workflow that automates our responses to
issues. This was pair-programmed by most of the Radius triage team, with
the goal and automating some of our common responses, and making sure
contributors can find the right information.

This will respond to new issues of the following types:

- Bug
- Feature
- Maintenance

For these categories it will thank the users and give them links to some
of our contributing docs.

We also respond to several labels that we already use in the triage
process with helpful guidance links.

Additionally we're trying out labels like 'wont-fix' as a **close**
action.



## Type of change

<!--

Please select **one** of the following options that describes your
change and delete the others. Clearly identifying the type of change you
are making will help us review your PR faster, and is used in authoring
release notes.

If you are making a bug fix or functionality change to Radius and do not
have an associated issue link please create one now.

-->


- This pull request is a minor refactor, code cleanup, test improvement,
or other maintenance task and doesn't change the functionality of Radius
(issue link optional).



## Auto-generated summary

<!--
GitHub Copilot for docs will auto-generate a summary of the PR
-->

<!--
copilot:all
-->
### <samp>🤖 Generated by Copilot at 4307b1a</samp>

### Summary
🏷️🤖🚀

<!--
1. 🏷️ - This emoji represents the change in the labels for the issue
templates, as it is commonly used to denote tags, labels, or categories.
2. 🤖 - This emoji represents the addition of the Radius Triage Bot, as
it is commonly used to denote robots, automation, or artificial
intelligence.
3. 🚀 - This emoji represents the enhancement of the issue management
process, as it is commonly used to denote launching, deploying, or
improving something.
-->
This pull request adds the Radius Triage Bot, a GitHub app that
automates the issue management process based on labels. It also updates
the issue templates to match the labels used by the bot. The pull
request involves adding two files:
`.github/triage-bot/triage-bot-config.yaml` and
`.github/workflows/triage-bot.yaml`, and modifying two files:
`.github/ISSUE_TEMPLATE/engineering.md` and
`.github/ISSUE_TEMPLATE/feature.md`.

> _`Triage Bot` joins us_
> _Labeling issues with care_
> _Autumn of coding_

### Walkthrough
* Add Radius Triage Bot to automate issue management
([link](https://github.com/radius-project/radius/pull/6638/files?diff=unified&w=0#diff-3a23c934769115c7578767cb68b475daca25f804a570053e98a5a07cb2769301R1-R109),
[link](https://github.com/radius-project/radius/pull/6638/files?diff=unified&w=0#diff-b023b195a45d7548b4f82c0fb4d921074c674cc41af2d821d84e0baa319415cdL1-R39))
* Update issue templates to assign labels automatically
([link](https://github.com/radius-project/radius/pull/6638/files?diff=unified&w=0#diff-da245bddd88c1af78402ad958d6ac59ed8bb1e948c9d1a09bfa7d349e582c30bL6-R6),
[link](https://github.com/radius-project/radius/pull/6638/files?diff=unified&w=0#diff-7115e6fc5201a8a9efce8930da83531470c9a014c6356b6b4c575eb8342488c3R6))

Signed-off-by: Ryan Nowak <nowakra@gmail.com>
  • Loading branch information
rynowak authored Nov 3, 2023
1 parent 2a2f17b commit c6a9049
Show file tree
Hide file tree
Showing 4 changed files with 151 additions and 1 deletion.
2 changes: 1 addition & 1 deletion .github/ISSUE_TEMPLATE/engineering.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ name: Engineering Improvement
about: Report problems or suggestions to improve the Radius engineering processes and/or pipelines
title: "<TITLE>"
assignees: ''
labels: ["engineering"]
labels: ["maintenance"]
---

## Engineering Improvement
Expand Down
1 change: 1 addition & 0 deletions .github/ISSUE_TEMPLATE/feature.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@ name: Feature Request
about: Request a feature in Radius
title: "<FEATURE TITLE>"
assignees: ''
labels: ["feature"]
---

## Overview of feature request
Expand Down
109 changes: 109 additions & 0 deletions .github/triage-bot/triage-bot-config.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,109 @@
# ------------------------------------------------------------
# Copyright 2023 The Radius Authors.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# ------------------------------------------------------------

# This is the configuration file for the Radius Triage Bot.
#
# See: https://github.com/dessant/label-actions for documentation.


# Creation labels

bug:
comment: |
:wave: @{issue-author} Thanks for filing this bug report.
A project maintainer will review this report and get back to you soon. If you'd like immediate help troubleshooting, please visit our [Discord server](https://aka.ms/radius/discord).
_For more information on our triage process please visit our [triage overview](https://github.com/radius-project/radius/blob/main/docs/contributing/triage/triage-process.md)_
feature:
comment: |
:wave: @{issue-author} Thanks for filing this feature request.
A project maintainer will review this feature request and get back to you soon.
We also welcome community contributions! If you would like to pick this item up sooner and submit a pull request, please visit our [contribution guidelines](https://github.com/radius-project/radius/blob/main/CONTRIBUTING.md) and assign this to yourself by commenting "/assign" on this issue.
_For more information on our triage process please visit our [triage overview](https://github.com/radius-project/radius/blob/main/docs/contributing/triage/triage-process.md)_
maintenance:
comment: |
:wave: @{issue-author} Thanks for filing this issue.
A project maintainer will review this issue and get back to you soon.
We also welcome community contributions! If you would like to pick this item up sooner and submit a pull request, please visit our [contribution guidelines](https://github.com/radius-project/radius/blob/main/CONTRIBUTING.md) and assign this to yourself by commenting "/assign" on this issue.
_For more information on our triage process please visit our [triage overview](https://github.com/radius-project/radius/blob/main/docs/contributing/triage/triage-process.md)_
# Processing labels

needs-more-information:
comment: |
:wave: @{issue-author} we need more information.
To help us investigate further, we need additional information to reproduce or understand this issue. Please ensure you have steps to reproduce and information about your OS, rad CLI version, and runtime version.
A project maintainer will reply on this issue soon to ask for additional specifics if needed.
_For more information on our triage process please visit our [triage overview](https://github.com/radius-project/radius/blob/main/docs/contributing/triage/triage-process.md)_
triaged:
comment: |
:+1: We've reviewed this issue and have agreed to add it to our backlog. Please subscribe to this issue for notifications, we'll provide updates when we pick it up.
We also welcome community contributions! If you would like to pick this item up sooner and submit a pull request, please visit our [contribution guidelines](https://github.com/radius-project/radius/blob/main/CONTRIBUTING.md) and assign this to yourself by commenting "/assign" on this issue.
_For more information on our triage process please visit our [triage overview](https://github.com/radius-project/radius/blob/main/docs/contributing/triage/triage-process.md)_
important:
comment: |
We've prioritized work on this issue. Please subscribe to this issue for notifications, we'll provide updates as we make progress.
We also welcome community contributions! If you would like to pick this item up sooner and submit a pull request, please visit our [contribution guidelines](https://github.com/radius-project/radius/blob/main/CONTRIBUTING.md) and assign this to yourself by commenting "/assign" on this issue.
_For more information on our triage process please visit our [triage overview](https://github.com/radius-project/radius/blob/main/docs/contributing/triage/triage-process.md)_
'good first issue':
comment: |
This issue is a great one to pickup for new contributors. It should only require small changes and not assume a deep knowledge of the Radius architecture.
We always welcome community contributions! If you would like to pick this item up sooner and submit a pull request, please visit our [contribution guidelines](https://github.com/radius-project/radius/blob/main/CONTRIBUTING.md) and assign this to yourself by commenting "/assign" on this issue.
_For more information on our triage process please visit our [triage overview](https://github.com/radius-project/radius/blob/main/docs/contributing/triage/triage-process.md)_
# Closing labels

wont-fix:
close: true
close-reason: 'not planned'
comment: |
:wave: @{issue-author} We've reviewed this issue and have decided not to address it at this time and to close it. If you have any questions or would like to discuss more, please reply to this issue and/or reach out on our [Discord server](https://aka.ms/radius/discord).
_For more information on our triage process please visit our [triage overview](https://github.com/radius-project/radius/blob/main/docs/contributing/triage/triage-process.md)_
duplicate:
close: true
close-reason: 'not planned'
comment: |
Thanks for filing this issue. We're closing this as a duplicate of another issue.
A project maintainer will review this and link the duplicate item and get back to you soon. If you have any questions or would like to discuss more, please reply to this issue and/or reach out on our [Discord server](https://aka.ms/radius/discord).
_For more information on our triage process please visit our [triage overview](https://github.com/radius-project/radius/blob/main/docs/contributing/triage/triage-process.md)_
40 changes: 40 additions & 0 deletions .github/workflows/triage-bot.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
# ------------------------------------------------------------
# Copyright 2023 The Radius Authors.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# ------------------------------------------------------------

name: 'Radius Triage Bot'
on:
issues:
types: [labeled, unlabeled]
permissions:
contents: read
issues: write
jobs:
build:
name: 'Process Triage Labels'
runs-on: ubuntu-latest
env:
RADIUS_TRIAGE_BOT_APP_ID: 417813
steps:
- uses: tibdex/github-app-token@v1
id: get_installation_token
with:
app_id: ${{ env.RADIUS_TRIAGE_BOT_APP_ID }}
private_key: ${{ secrets.RADIUS_TRIAGE_BOT_PRIVATE_KEY }}
- uses: dessant/label-actions@v3
with:
github-token: ${{ steps.get_installation_token.outputs.token }}
config-path: '.github/triage-bot/triage-bot-config.yaml'
process-only: 'issues'

0 comments on commit c6a9049

Please sign in to comment.