-
Notifications
You must be signed in to change notification settings - Fork 800
80 lines (74 loc) · 3.83 KB
/
gardening.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
name: 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, reopened, labeled, edited, closed]
issue_comment: # To gather support references in issue comments.
types: [created]
push:
branches:
- trunk # Every time a PR is merged to trunk.
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:
# review-crew-afk:
# name: "Review check"
# runs-on: ubuntu-latest
# if: github.event_name == 'pull_request_target' && github.event.action == 'labeled' && github.event.label.name == '[Status] Needs Review'
# timeout-minutes: 1 # 2021-01-18: Successful runs probably take a few seconds
# steps:
# - name: Comment
# uses: actions/[email protected]
# with:
# github-token: ${{ secrets.GITHUB_TOKEN }}
# script: |
# github.issues.createComment({
# issue_number: context.issue.number,
# owner: context.repo.owner,
# repo: context.repo.repo,
# body: 'Howdy! The Jetpack team has disappeared for a few days to a secret island lair to concoct new ways to make Jetpack one hundred billion percent better. As a result, your Pull Request may not be reviewed right away. Do not worry, we will be back next week to look at your work! Thank you for your understanding.'
# })
repo-gardening:
name: "Manage labels and assignees"
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 # 2021-03-12: Successful runs seem to take a few seconds, but can sometimes take a lot longer since we wait for previous runs to complete.
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Setup tools
uses: ./.github/actions/tool-setup
- name: Building Action
env:
COMPOSER_ROOT_VERSION: dev-trunk
run: |
pnpm install
composer install
composer build-development
working-directory: ./projects/github-actions/repo-gardening
- name: Checkout the PR
if: github.event_name == 'pull_request_target' && github.event.pull_request.state != 'closed'
uses: actions/checkout@v3
with:
ref: ${{ github.event.pull_request.head.ref }}
repository: ${{ github.event.pull_request.head.repo.full_name }}
# DO NOT run any code in this checkout. Not even an `npm install`.
path: ./pr-checkout
- name: Wait for prior instances of the workflow to finish
uses: ./.github/actions/turnstile
- name: "Run the action (assign, manage milestones, for issues and PRs)"
uses: ./projects/github-actions/repo-gardening
env:
PR_WORKSPACE: ${{ github.workspace }}${{ github.event_name == 'pull_request_target' && '/pr-checkout' || '' }}
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
slack_token: ${{ secrets.SLACK_TOKEN }}
slack_team_channel: ${{ secrets.SLACK_TEAM_CHANNEL }}
slack_design_channel: ${{ secrets.SLACK_DESIGN_CHANNEL }}
slack_editorial_channel: ${{ secrets.SLACK_EDITORIAL_CHANNEL }}
slack_he_triage_channel: ${{ secrets.SLACK_HE_TRIAGE_CHANNEL }}
slack_quality_channel: ${{ secrets.SLACK_QUALITY_CHANNEL }}