diff --git a/.github/workflows/close.yml b/.github/workflows/close.yml new file mode 100644 index 00000000000..5a8d01754a0 --- /dev/null +++ b/.github/workflows/close.yml @@ -0,0 +1,23 @@ +name: Check author contributor status + +on: + pull_request_target: + types: [opened, reopened] + +jobs: + run: + runs-on: ubuntu-latest + permissions: + contents: read + pull-requests: write + steps: + - uses: actions/checkout@v4 + - name: Checkout collaborator list repository + uses: actions/checkout@v4 + with: + repository: lightclient/geth-collaborators + path: geth-collaborators + - uses: lightclient/close-pull-request@allowlist + with: + allowlist: geth-collaborators/COLLABORATORS + comment: "To combat excessive pull requests, the go-ethereum team now requires contributors to [register](https://pad.ethereum.org/form/#/3/form/view/8cfd7dbf415489a41cfefb7f4901d549/) as a collaborator. Please see the [policy](https://github.com/lightclient/geth-collaborators) for more information. Thank you for understanding, we look forward to reviewing your contribution!" diff --git a/README.md b/README.md index 639286ba9f3..a20b0a07fed 100644 --- a/README.md +++ b/README.md @@ -218,7 +218,10 @@ There are three different solutions depending on your use case: Thank you for considering helping out with the source code! We welcome contributions from anyone on the internet, and are grateful for even the smallest of fixes! -If you'd like to contribute to go-ethereum, please fork, fix, commit and send a pull request +If you'd like to contribute to go-ethereum, please start by submitting the +[request for collaborator status](https://pad.ethereum.org/form/#/3/form/view/8cfd7dbf415489a41cfefb7f4901d549/) +form. This helps reduce spam PRs and allows us to thoroughly review +contributions. After that fork, fix, commit and send a pull request for the maintainers to review and merge into the main code base. If you wish to submit more complex changes though, please check up with the core devs first on [our Discord Server](https://discord.gg/invite/nthXNEv) to ensure those changes are in line with the general philosophy of the project and/or get