Skip to content

Commit

Permalink
Update required-review config
Browse files Browse the repository at this point in the history
This makes the following changes:

* Taking advantage of the new `consume` option to DRY things out.
* Allow everyone to update `composer.lock` and `changelog/*` in all
  projects, not only plugins.
* Fix #28359, as written the "Monorepo itself" rule still applied to
  docs so only jetpack-approvers were actually allowed. This is done by
  leaving `docs/**` in the rule with `consume` set an moving "Monorepo
  itself" after.
* The "Jetpack and packages" rule now only covers Jetpack. A second rule
  covers those packages (and now js-packages too) that are maintained by
  Ground Control. All other packages are left to team rules or the
  catch-all at the end, so we don't have to exclude them anymore.
  • Loading branch information
anomiex committed Mar 6, 2023
1 parent 6936eb8 commit aafeb65
Showing 1 changed file with 30 additions and 56 deletions.
86 changes: 30 additions & 56 deletions .github/files/required-review.yaml
Original file line number Diff line number Diff line change
@@ -1,19 +1,12 @@
# Jetpack Approvers need to review changes to the monorepo itself.
- name: Monorepo itself
paths:
- '!projects/**'
- '!pnpm-lock.yaml'
teams:
- jetpack-approvers

# Everyone who can approve anything can merge pnpm.lock and docs.
- name: pnpm lockfile, composer files
- name: lockfiles, plugin composer.json, changelogs, docs
paths:
- 'docs/**'
- 'pnpm-lock.yaml'
- 'projects/plugins/*/composer.lock'
- 'projects/*/*/composer.lock'
- 'projects/plugins/*/composer.json'
- 'projects/plugins/*/changelog/*'
- 'projects/*/*/changelog/*'
consume: true
teams:
# Unfortunately this list need to be maintaned manually...
# yamato-backup-and-security is the group that consists of both yamato-scan and yamato-backup teams.
Expand All @@ -25,38 +18,43 @@
- red
- yamato-backup-and-security

# Jetpack Approvers review the Jetpack plugin and all packages, except for those with specific team ownership.
- name: Jetpack and packages
# Jetpack Approvers need to review changes to the monorepo itself.
- name: Monorepo itself
paths:
- '!projects/**'
teams:
- jetpack-approvers

# Jetpack Approvers review the Jetpack plugin.
- name: Jetpack-the-plugin
paths:
- 'projects/packages/**'
- 'projects/plugins/jetpack/**'
# Exclude packages managed by other teams, which are covered by other blocks below.
- '!projects/js-packages/image-guide/**'
- '!projects/js-packages/svelte-data-sync-client/**'
- '!projects/packages/wp-js-data-sync/**'
- '!projects/packages/backup/**'
- '!projects/packages/import/**'
- '!projects/packages/forms/**'
- '!projects/packages/search/**'
- '!projects/packages/stats/**'
- '!projects/packages/stats-admin/**'
- '!projects/packages/publicize/**'
- '!projects/packages/waf/**'
- '!projects/plugins/*/composer.lock'
- '!projects/plugins/*/composer.json'
- '!projects/plugins/*/changelog/*'
teams:
- jetpack-approvers

# Packages owned by Ground Control.
- name: Ground Control packages
paths:
- 'projects/js-packages/babel-plugin-replace-textdomain/**'
- 'projects/js-packages/eslint-changed/**'
- 'projects/js-packages/eslint-config-target-es/**'
- 'projects/js-packages/i18n-check-webpack-plugin/**'
- 'projects/js-packages/i18n-loader-webpack-plugin/**'
- 'projects/js-packages/remove-asset-webpack-plugin/**'
- 'projects/js-packages/webpack-config/**'
- 'projects/packages/autoloader/**'
- 'projects/packages/changelogger/**'
- 'projects/packages/codesniffer/**'
- 'projects/packages/ignorefile/**'
- 'projects/packages/phpcs-filter/**'
teams:
- jetpack-approvers

# The Avengers team reviews changes to the CRM plugin,
# and can add dependencies to the monorepo's lock file.
- name: CRM
paths:
- 'projects/plugins/crm/**'
- '!projects/plugins/*/composer.lock'
- '!projects/plugins/*/composer.json'
- '!projects/plugins/*/changelog/*'
teams:
- avengers
- jetpack-approvers
Expand All @@ -67,9 +65,6 @@
paths:
- 'projects/packages/import/**'
- 'projects/plugins/migration/**'
- '!projects/plugins/*/composer.lock'
- '!projects/plugins/*/composer.json'
- '!projects/plugins/*/changelog/*'
teams:
- caribou
- jetpack-approvers
Expand All @@ -81,9 +76,6 @@
- 'projects/packages/backup/**'
- 'projects/plugins/vaultpress/**'
- 'projects/plugins/backup/**'
- '!projects/plugins/*/composer.lock'
- '!projects/plugins/*/composer.json'
- '!projects/plugins/*/changelog/*'
teams:
- yamato-backup
- jetpack-approvers
Expand All @@ -94,9 +86,6 @@
paths:
- 'projects/packages/waf/**'
- 'projects/plugins/protect/**'
- '!projects/plugins/*/composer.lock'
- '!projects/plugins/*/composer.json'
- '!projects/plugins/*/changelog/*'
teams:
- yamato-scan
- jetpack-approvers
Expand All @@ -110,9 +99,6 @@
- 'projects/js-packages/image-guide/**'
- 'projects/js-packages/svelte-data-sync-client/**'
- 'projects/packages/wp-js-data-sync/**'
- '!projects/plugins/*/composer.lock'
- '!projects/plugins/*/composer.json'
- '!projects/plugins/*/changelog/*'
teams:
- heart-of-gold
- jetpack-approvers
Expand All @@ -123,9 +109,6 @@
paths:
- 'projects/plugins/search/**'
- 'projects/packages/search/**'
- '!projects/plugins/*/composer.lock'
- '!projects/plugins/*/composer.json'
- '!projects/plugins/*/changelog/*'
teams:
- red
- jetpack-approvers
Expand All @@ -135,9 +118,6 @@
paths:
- 'projects/packages/stats/**'
- 'projects/packages/stats-admin/**'
- '!projects/plugins/*/composer.lock'
- '!projects/plugins/*/composer.json'
- '!projects/plugins/*/changelog/*'
teams:
- red
- jetpack-approvers
Expand All @@ -148,9 +128,6 @@
- 'projects/plugins/social/**'
- 'projects/packages/publicize/**'
- 'projects/js-packages/publicize-components/**'
- '!projects/plugins/*/composer.lock'
- '!projects/plugins/*/composer.json'
- '!projects/plugins/*/changelog/*'
teams:
- jetpack-reach
- jetpack-approvers
Expand All @@ -159,9 +136,6 @@
- name: Forms
paths:
- 'projects/packages/forms/**'
- '!projects/plugins/*/composer.lock'
- '!projects/plugins/*/composer.json'
- '!projects/plugins/*/changelog/*'
teams:
- '@cgastrell'
- '@ice9js'
Expand Down

0 comments on commit aafeb65

Please sign in to comment.