Skip to content

ci: require contributor approval for pull requests - #2468

Closed
noahjoeris wants to merge 1 commit into
bitcoindevkit:masterfrom
noahjoeris:ci/contributor-gate
Closed

noahjoeris wants to merge 1 commit into
bitcoindevkit:masterfrom
noahjoeris:ci/contributor-gate

Conversation

@noahjoeris

Copy link
Copy Markdown
Contributor

Closes #2447

Description

Adds the contributor approval gate discussed in #2447 to keep the review queue manageable. Issues remain open to everyone.

  • Automatically closes fork PRs from unapproved contributors.
  • Maintainers approve an issue or PR author with lgtm on its own line, or specific users with lgtm @user.
  • Maintainers can reopen a closed PR as a one-time exception.
  • Documents the approval process in CONTRIBUTING.md.

Notes to the reviewers

Approvals live in APPROVED_CONTRIBUTORS on a separate approved-contributors branch, allowing workflow updates without bypassing master's protections. Neither workflow checks out or runs PR code.

Tested end to end in a throwaway repository with a second account.

Before merging, create and seed the approval branch, then protect it against deletion and force pushes while allowing workflow commits. A missing allowlist causes the gate to fail, leaving PRs open.

Close pull requests from forks whose author is not approved, and let
maintainers approve contributors by commenting `lgtm` on an issue or
pull request. Approved logins are stored in `APPROVED_CONTRIBUTORS` on
the unprotected `approved-contributors` branch, so approvals don't need
a pull request to master.

Based on the workflows used by earendil-works/pi. See bitcoindevkit#2447.
@noahjoeris noahjoeris self-assigned this Nov 11, 2026
@noahjoeris
noahjoeris requested a review from a team as a code owner November 11, 2026 09:30
@github-project-automation github-project-automation Bot moved this to Triage in BDK Chain Nov 11, 2026
@codecov

codecov Bot commented Nov 11, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 83.62%. Comparing base (02b7b12) to head (99b52e8).
⚠️ Report is 4 commits behind head on master.

Additional details and impacted files
@@            Coverage Diff             @@
##           master    #2468      +/-   ##
==========================================
+ Coverage   83.25%   83.62%   +0.36%     
==========================================
  Files          31       31              
  Lines        6236     6339     +103     
  Branches      293      292       -1     
==========================================
+ Hits         5192     5301     +109     
+ Misses        976      970       -6     
  Partials       68       68              
Flag Coverage Δ
rust 83.62% <ø> (+0.36%) ⬆️

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@noahjoeris noahjoeris moved this from Triage to Needs Review in BDK Chain Nov 11, 2026
@noahjoeris

Copy link
Copy Markdown
Contributor Author

As discussed on our call yesterday, we will first try to use the github native feature that limits First Time Contributors to have one open PR max. We can see how that goes and re-evaluate if that's not enough.

Closing for now.

@noahjoeris noahjoeris closed this Nov 12, 2026
@github-project-automation github-project-automation Bot moved this from Needs Review to Done in BDK Chain Nov 12, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

Managing PR volume and slop

1 participant