Yicong-Huang opened a new issue, #4659:
URL: https://github.com/apache/texera/issues/4659

   ## Problem
   
   Currently `.asf.yaml` for `main` branch protection sets:
   
   ```yaml
   required_pull_request_reviews:
     required_approving_review_count: 1
   required_linear_history: true
   ```
   
   GitHub PR reviews have three states — **Approve**, **Request changes**, 
**Comment**. Only Approve counts toward the approval threshold and only Request 
changes blocks merging. **Comment-style reviews and inline review threads do 
not block merging**, even when they raise concrete concerns.
   
   Practical impact:
   - Reviewers leaving inline comments on a PR (without explicitly hitting 
"Request changes") do not gate merging.
   - Copilot code review and other automated review tools post comments — these 
are not enforced.
   - It is possible to merge a PR with unresolved review threads.
   
   ## Proposal
   
   Add `required_conversation_resolution: true` to the `main` branch protection 
block in `.asf.yaml`. This is a passthrough to GitHub's branch-protection API 
and forces all PR conversations to be marked **Resolved** before merge.
   
   ## Precedent in ASF
   
   40 Apache repositories already use this field in their `.asf.yaml`. A 
non-exhaustive list:
   
   - `apache/airflow` (main)
   - `apache/pulsar` (master) — comment in their yaml: "Requires all 
conversations on code to be resolved before a pull request can be merged."
   - `apache/logging-log4j2` — comment: "All reviews must be addressed before 
merging"
   - `apache/cloudberry`
   - `apache/fineract`
   - `apache/bifromq`
   - `apache/iggy`
   - `apache/nuttx`
   - `apache/openserverless`
   - `apache/ignite-3`
   
   Source: `gh api 
search/code?q=org:apache+required_conversation_resolution+filename:.asf.yaml` 
returns 40 hits.
   
   ## Expected behavior after change
   
   - A reviewer's inline thread must be marked Resolved (by anyone with write 
access) before the PR can be merged.
   - Comment-style reviews remain non-blocking by themselves, but any inline 
conversation they create is gated.
   - Approval workflow is unchanged: still 1 approving review required, no 
stale dismissal.
   
   ## References
   
   - ASF INFRA `.asf.yaml` features: 
https://cwiki.apache.org/confluence/display/INFRA/Git+-+.asf.yaml+features
   - GitHub branch protection API field: `required_conversation_resolution`
   
   A PR will be opened against this issue.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to