-
Notifications
You must be signed in to change notification settings - Fork 361
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Actions: add Repo gardening action (#6244)
* Actions: add Repo gardening action More details about the action here: https://github.com/Automattic/action-repo-gardening The action is already used in the Calypso and Jetpack repos. I've enabled 5 of the tasks the action offers so far: 1. Assign Issues (`assignIssues`): Adds assignee for issues which are being worked on, and adds the "In Progress" label. 2. Clean Labels (`cleanLabels`): Removes Status labels once a PR has been merged. 3. Flag OSS (`flagOss`): flags entries by external contributors, adds an "OSS Citizen" label to the PR, and sends a Slack message to the #themes channel. 4. Triage New Issues (`triageNewIssues`): Adds labels to new issues based on issue content. 5. Gather support references (`gatherSupportReferences`): Adds a new comment with a list of all support references on the issue. More details about this in pcLjiI-Rb-p2 * Add new Issue template for bug reports * Enable newer tasks - Prompt to reply to customers when an issue is finally closed after having gathered a lot of tickets. Reference: pcLjiI-Ro-p2 - Slack message when an opened issue starts gathering a lot of tickets. Reference: pciE2j-1iy-p2 * Remove unneeded tasks for now.
- Loading branch information
Showing
2 changed files
with
178 additions
and
0 deletions.
There are no files selected for viewing
This file contains 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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,133 @@ | ||
name: Bug Report | ||
description: Helps us improve our product! | ||
labels: "Needs triage, [Type] Bug" | ||
title: "[Bug]: " | ||
body: | ||
- type: markdown | ||
attributes: | ||
value: | | ||
### Thanks for contributing! | ||
Please write a clear title, then fill in as much details as possible. | ||
__Avoid using image hosting services such as Cloudup, Droplr, Imgur, etc., to link to media.__ | ||
Instead, attach screenshot(s) or recording(s) directly in any of the text areas below: click, then drag and drop. | ||
- type: textarea | ||
id: summary | ||
attributes: | ||
label: Quick summary | ||
- type: textarea | ||
id: steps | ||
attributes: | ||
label: Steps to reproduce | ||
placeholder: | | ||
1. Start at `site-domain.com/blog`. | ||
2. Click on any blog post. | ||
3. Click on the 'Like' button. | ||
4. ... | ||
Attach any media by drag and dropping or selecting upload. | ||
validations: | ||
required: true | ||
- type: textarea | ||
id: expected | ||
attributes: | ||
label: What you expected to happen | ||
placeholder: | | ||
e.g. The post should be liked. | ||
validations: | ||
required: true | ||
- type: textarea | ||
id: actual | ||
attributes: | ||
label: What actually happened | ||
placeholder: | | ||
e.g. Clicking the button does nothing visibly. | ||
validations: | ||
required: true | ||
- type: dropdown | ||
id: browser | ||
attributes: | ||
label: Browser | ||
description: (You may select more than one) | ||
options: | ||
- Google Chrome/Chromium | ||
- Mozilla Firefox | ||
- Microsoft Edge | ||
- Apple Safari | ||
- iOS Safari | ||
- Android Chrome | ||
multiple: true | ||
- type: input | ||
id: issue_context | ||
attributes: | ||
label: Context | ||
placeholder: | | ||
e.g. Customer report, details of your exploratory testing, etc. | ||
- type: markdown | ||
attributes: | ||
value: | | ||
--- | ||
## Additional context | ||
The following section is optional. If you're an Automattician, you should be able to fill it in. If not, please scroll to the bottom and submit the issue. | ||
- type: dropdown | ||
id: site-type | ||
attributes: | ||
label: Platform (Simple, Atomic, or both?) | ||
description: (You may select more than one) | ||
options: | ||
- Simple | ||
- Atomic | ||
- Self-hosted | ||
multiple: true | ||
- type: textarea | ||
id: other_notes | ||
attributes: | ||
label: Other notes | ||
placeholder: | | ||
e.g. Logs, CLI or console errors, notes, observations, etc. | ||
- type: markdown | ||
attributes: | ||
value: | | ||
--- | ||
## Issue severity | ||
Please provide details around how often the issue is reproducible & how many users are affected. | ||
- type: dropdown | ||
id: reproducibility | ||
attributes: | ||
label: Reproducibility | ||
options: | ||
- Consistent | ||
- Intermittent | ||
- Once | ||
validations: | ||
required: true | ||
- type: dropdown | ||
id: users-affected | ||
attributes: | ||
label: Severity | ||
description: How many users are impacted? A guess is fine. | ||
options: | ||
- One | ||
- Some (< 50%) | ||
- Most (> 50%) | ||
- All | ||
- type: dropdown | ||
id: workarounds | ||
attributes: | ||
label: Available workarounds? | ||
options: | ||
- No and the platform is unusable | ||
- No but the platform is still usable | ||
- Yes, difficult to implement | ||
- Yes, easy to implement | ||
- There is no user impact | ||
- type: textarea | ||
id: workarounds-detail | ||
attributes: | ||
label: Workaround details | ||
description: If you are aware of a workaround, please describe it below. | ||
placeholder: | | ||
e.g. There is an alternative way to access this setting in the sidebar, but it's not readily apparent. |
This file contains 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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,45 @@ | ||
name: Repo gardening | ||
|
||
on: | ||
pull_request_target: # When a PR is opened or closed | ||
types: [opened, closed] | ||
issues: # For auto-triage of issues. | ||
types: [opened, reopened, edited, closed] | ||
issue_comment: # To gather support references in issue comments. | ||
types: [created] | ||
concurrency: | ||
# For pull_request_target, cancel any concurrent jobs with the same type (e.g. "opened", "labeled") and branch. | ||
# Don't cancel any for other events, accomplished by grouping on the unique run_id. | ||
group: gardening-${{ github.event_name }}-${{ github.event.action }}-${{ github.event_name == 'pull_request_target' && github.event.pull_request.head.ref || github.run_id }} | ||
cancel-in-progress: true | ||
|
||
jobs: | ||
repo-gardening: | ||
name: 'Perform automated triage tasks on PRs and issues' | ||
runs-on: ubuntu-latest | ||
if: github.event_name == 'pull_request_target' || github.event.pull_request.head.repo.full_name == github.event.pull_request.base.repo.full_name | ||
timeout-minutes: 10 | ||
|
||
steps: | ||
- name: Checkout | ||
uses: actions/checkout@v3 | ||
|
||
- name: Setup Node | ||
uses: actions/setup-node@v3 | ||
with: | ||
node-version: 16 | ||
|
||
- name: Wait for prior instances of the workflow to finish | ||
uses: softprops/turnstyle@v1 | ||
env: | ||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | ||
|
||
- name: 'Run gardening action' | ||
uses: automattic/action-repo-gardening@trunk | ||
with: | ||
github_token: ${{ secrets.GITHUB_TOKEN }} | ||
slack_token: ${{ secrets.SLACK_TOKEN }} | ||
slack_team_channel: ${{ secrets.SLACK_TEAM_CHANNEL }} | ||
slack_he_triage_channel: ${{ secrets.SLACK_HE_TRIAGE_CHANNEL }} | ||
slack_quality_channel: ${{ secrets.SLACK_QUALITY_CHANNEL }} | ||
tasks: 'cleanLabels,flagOss,triageNewIssues,gatherSupportReferences,replyToCustomersReminder' |