From 4ed0f7ea6c9d93174ab641ce6eaea81099f1be7a Mon Sep 17 00:00:00 2001 From: Evan Gray Date: Fri, 31 May 2024 11:55:04 -0400 Subject: [PATCH] ci: add required-review --- .github/required-review.yml | 349 ++++++++++++++++++++++++++ .github/workflows/required-review.yml | 26 ++ 2 files changed, 375 insertions(+) create mode 100644 .github/required-review.yml create mode 100644 .github/workflows/required-review.yml diff --git a/.github/required-review.yml b/.github/required-review.yml new file mode 100644 index 0000000000..18ff7c96b0 --- /dev/null +++ b/.github/required-review.yml @@ -0,0 +1,349 @@ +# see https://github.com/Automattic/action-required-review for more details + +# Chains + +- name: Chains - Algorand + paths: + - "/algorand/" + teams: + - "@evan-gray" + - "@kcsongor" + +- name: Chains - Aptos + paths: + - "/aptos/" + teams: + - "@kcsongor" + - "@a5-pickle" + +- name: Chains - Bitcoin + paths: + - "/bitcoin/" + teams: + - "@evan-gray" + +- name: Chains - Cosmwasm + paths: + - "/cosmwasm/" + teams: + - "@nik-suri" + - "@kcsongor" + - "@a5-pickle" + +- name: Chains - EVM - Deployment .envs + paths: + - "/ethereum/env/" + consume: true + teams: + - "@a5-pickle" + - "@gator-boi" + - "@kcsongor" + - "@evan-gray" + - "@bruce-riley" +- name: Chains - EVM + paths: + - "/ethereum/" + teams: + - "@a5-pickle" + - "@gator-boi" + - "@kcsongor" + +- name: Chains - EVM - Relayer + paths: + - "/relayer/ethereum/" + teams: + - "@nonergodic" + - "@gator-boi" + +- name: Chains - Near + paths: + - "/near/" + teams: + - "@evan-gray" + - "@kcsongor" + +- name: Chains - Solana + paths: + - "/solana/" + teams: + - "@kcsongor" + - "@a5-pickle" + +- name: Chains - Sui + paths: + - "/sui/" + teams: + - "@kcsongor" + - "@a5-pickle" + - "@gator-boi" + +- name: Chains - Terra + paths: + - "/terra/" + teams: + - "@kcsongor" + - "@a5-pickle" + +# Utilities + +- name: Utilities - Clients + paths: + - "/clients/" + teams: + - "@kcsongor" + - "@kev1n-peters" + - "@evan-gray" + +- name: Utilities - LP UI + paths: + - "/lp_ui/" + teams: + - "@evan-gray" + - "@kev1n-peters" + +- name: Utilities - Off-Chain Relayer + paths: + - "/relayer/generic_relayer/" + teams: + - "@nonergodic" + - "@gator-boi" + +- name: Utilities - Scripts + paths: + - "/scripts/" + teams: + - "@evan-gray" + - "@kcsongor" + +- name: Utilities - JS - Protobuf - Node + paths: + - "/sdk/js-proto-node/" + consume: true + teams: + - "@evan-gray" + - "@kev1n-peters" +- name: Utilities - JS - Protobuf - Web + paths: + - "/sdk/js-proto-web/" + consume: true + teams: + - "@evan-gray" + - "@kev1n-peters" +- name: Utilities - JS - Query SDK + paths: + - "/sdk/js-query/" + consume: true + teams: + - "@evan-gray" + - "@kev1n-peters" + - "@bruce-riley" +- name: Utilities - JS - Wasm SDK + paths: + - "/sdk/js-wasm/" + consume: true + teams: + - "@evan-gray" + - "@kev1n-peters" +- name: Utilities - JS SDK + paths: + - "/sdk/js/" + consume: true + teams: + - "@evan-gray" + - "@kev1n-peters" + - "@barnjamin" + - "@panoel" +- name: Utilities - Rust SDK + paths: + - "/sdk/rust/" + consume: true + teams: + - "@a5-pickle" +- name: Utilities - Go VAA SDK + paths: + - "/sdk/vaa/" + consume: true + teams: + - "@bruce-riley" + - "@SEJeff" +- name: Utilities - Go SDK + paths: + - "/sdk/" + teams: + - "@bruce-riley" + - "@evan-gray" + - "@kev1n-peters" + - "@SEJeff" + +- name: Utilities - JS - Spy SDK + paths: + - "/spydk/" + teams: + - "@evan-gray" + +- name: Utilities - Testing + paths: + - "/testing/" + teams: + - "@a5-pickle" + - "@evan-gray" + +- name: Utilities - Deployments + paths: + - "/deployments/" + teams: + - "@evan-gray" + - "@kev1n-peters" + - "@panoel" + - "@bruce-riley" + +# Wormchain + +- name: Wormchain - CI Tests + paths: + - "/wormchain/contracts/tools/" + consume: true + teams: + - "@evan-gray" + - "@kev1n-peters" + - "@panoel" +- name: Wormchain - Devnet + paths: + - "/wormchain/devnet/" + consume: true + teams: + - "@evan-gray" + - "@bruce-riley" +- name: Wormchain - TS SDK + paths: + - "/wormchain/ts-sdk/" + consume: true + teams: + - "@evan-gray" + - "@kev1n-peters" + - "@panoel" +- name: Wormchain - Default + paths: + - "/wormchain/" + teams: + - "@nik-suri" + +# Guardiand node + +- name: Protobuf - Node + paths: + - "/proto/node/" + teams: + - "@evan-gray" + - "@bruce-riley" +- name: Node - Entrypoint / RPC + paths: + - "/node/cmd/" + consume: true + teams: + - "@bruce-riley" + - "@panoel" + - "@evan-gray" +- name: Node - DB + paths: + - "/node/pkg/db/" + consume: true + teams: + - "@bruce-riley" + - "@panoel" +- name: Node - Accountant + paths: + - "/node/pkg/accountant/" + consume: true + teams: + - "@bruce-riley" + - "@evan-gray" + - "@panoel" +- name: Node - Governor + paths: + - "/node/pkg/governor/" + consume: true + teams: + - "@bruce-riley" + - "@claudijd" + - "@SEJeff" + - "@djb15" +- name: Node - Gateway Relayer + paths: + - "/node/pkg/gwrelayer/" + consume: true + teams: + - "@bruce-riley" + - "@evan-gray" + - "@panoel" +- name: Node - P2P + paths: + - "/node/pkg/p2p/" + consume: true + teams: + - "@bruce-riley" + - "@evan-gray" + - "@panoel" +- name: Node - Consensus / Processor + paths: + - "/node/pkg/processor/" + consume: true + teams: + - "@bruce-riley" + - "@evan-gray" + - "@panoel" +- name: Node - Public RPC + paths: + - "/node/pkg/publicrpc/" + consume: true + teams: + - "@bruce-riley" + - "@panoel" +- name: Node - Supervisor Framework + paths: + - "/node/pkg/supervisor/" + consume: true + teams: + - "@bruce-riley" + - "@evan-gray" +- name: Node - Watchers + paths: + - "/node/pkg/watchers/" + consume: true + teams: + - "@evan-gray" + - "@bruce-riley" + - "@panoel" +- name: Node - Hacks / Tools + paths: + - "/node/hack/" + consume: true + teams: + - "@bruce-riley" + - "@panoel" + - "@evan-gray" +- name: Node - Default + paths: + - "/node/" + teams: + - "@bruce-riley" + - "@evan-gray" + - "@SEJeff" + +## Documentation + +- name: Documentation + paths: + - "/docs/" + teams: + - "@evan-gray" + - "@barnjamin" + - "@SEJeff" + - "@bruce-riley" + +# Default + +- name: Default + paths: unmatched + teams: + - "@evan-gray" diff --git a/.github/workflows/required-review.yml b/.github/workflows/required-review.yml new file mode 100644 index 0000000000..cea6922926 --- /dev/null +++ b/.github/workflows/required-review.yml @@ -0,0 +1,26 @@ +name: "Required review check" +on: + # pull_request_target is suggested for projects where pull requests will be + # made from forked repositories. If pull_request is used in these cases, + # the github token will not have sufficient permission to update the PR. + pull_request_review: + pull_request: + types: [opened, reopened, synchronize] + +permissions: + contents: read # to read changed files + pull-requests: write # to read/write PR reviewers + statuses: write # to add the status pass/fail + +jobs: + check: + name: Checking required reviews + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - uses: Automattic/action-required-review@bc37113f38a3d10969c1a2a6eadbb53cb2360156 + with: + token: ${{ github.token }} + requirements-file: .github/required-review.yml + request-reviews: true + status: Required review