From 9a2f8ee8fffdfb2a3324ab1c385b2541334f1701 Mon Sep 17 00:00:00 2001 From: Jarek Potiuk Date: Tue, 8 Sep 2026 00:48:56 +0200 Subject: [PATCH] ci(asf.yaml): stop blocking merge on unresolved review threads MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit `required_conversation_resolution: true` made *any* open review thread a hard merge gate. With the approval requirement currently lifted (see the note above `protected_branches`), it was the one gate a reviewer could trip by accident. The failure mode is specific: a reviewer leaves a nit they explicitly mark non-blocking, the PR is then unmergeable until someone resolves it, and the reviewer ends up resolving their own advisory comment purely to unblock the merge. That destroys the signal the comment was meant to carry — an unresolved thread should mean "the author has not looked at this yet", not "the merge button is stuck". Unresolved threads stay visible in the PR UI; they are simply no longer a hard gate. The `zizmor` / `prek` / `tests-ok` status checks and linear history are untouched, so nothing merges without green CI. Restore alongside `required_pull_request_reviews` if the project later wants threads to gate merge again. Generated-by: Claude Code (Opus 5) --- .asf.yaml | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/.asf.yaml b/.asf.yaml index f58ccbda..bf23b1a2 100644 --- a/.asf.yaml +++ b/.asf.yaml @@ -185,10 +185,19 @@ github: # above — squash is the only enabled merge mode, so every # merge results in a single commit on top of main. required_linear_history: true - # Block merge while review threads remain unresolved. This - # bites even without an approval requirement: any reviewer - # who opens a thread blocks merge until it is resolved. - required_conversation_resolution: true + # Do NOT block merge on unresolved review threads. With the + # approval requirement lifted above, this was the one merge gate + # a reviewer could trip by accident: *any* open thread held the + # PR, including a nit the reviewer explicitly marked as + # non-blocking. The observed effect is reviewers resolving their + # own advisory comments purely to unblock the merge, which + # defeats the point of leaving the comment where the author can + # still see it. Unresolved threads remain visible in the PR UI; + # they are simply no longer a hard gate. + # + # Restore alongside `required_pull_request_reviews` above if the + # project later wants threads to gate merge again. + required_conversation_resolution: false # Do NOT require signed commits. External contributors # without configured GPG/SSH signing would be unable to # contribute. Re-enable if/when the project adopts a