50 lines
2.1 KiB
YAML
50 lines
2.1 KiB
YAML
# Repo gardening. Automate some of the triage tasks in the repo.
|
|
name: Repo Gardening
|
|
|
|
on:
|
|
pull_request_target: # When a PR is opened, edited, updated, closed, or a label is added.
|
|
types: [opened, reopened, synchronize, edited, labeled, closed]
|
|
issues: # For auto-triage of issues.
|
|
types: [opened, labeled, 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: 'Automated repo gardening.'
|
|
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: lts/*
|
|
|
|
- name: Wait for prior instances of the workflow to finish
|
|
uses: softprops/turnstyle@v1
|
|
env:
|
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
|
|
- name: 'Automate triage (add labels, clean labels, ...).'
|
|
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: 'addLabels,cleanLabels,assignIssues,flagOss,gatherSupportReferences,replyToCustomersReminder'
|
|
add_labels: '[
|
|
{"path": "src/followers", "label": "[Block] Followers"},
|
|
{"path": "src/follow-me", "label": "[Block] Follow Me"}
|
|
]'
|