fix(ci): board-review and changes need full history, not fetch-depth 2 - #446
Merged
Merged
Conversation
PR #436 sat BLOCKED for 10 days (2026-09-10 -> 2026-09-20): board-review crashed with 'git diff base head' exit 128 once the branch picked up a third commit past its base sha, because fetch-depth 2 only reaches one commit back from the merge commit. changes has the identical base/head diff and the same latent bug, just not yet hit. Both now fetch full history.
msgwing
enabled auto-merge (squash)
September 20, 2026 12:20
msgwing
added a commit
that referenced
this pull request
Sep 20, 2026
msgwing
added a commit
that referenced
this pull request
Sep 20, 2026
#436) * docs(alternatives): re-measure the self-hosted proxy shelf, 2026-09-10 Re-ran the 2026-08-27 competitive scan against GitHub directly instead of memory. Two of five previously-listed projects are still dead, one (JustinIven/smtp-oauth-relay) turns out to have been credited with commits that were actually an unmerged dependabot branch - its real last commit is three weeks older than pushed_at suggested. Adds two projects the prior scan missed: rustmailer/rustmailer (504 stars, active, broader scope) and debold/GraphMailer.NET (2 stars, but the most actively developed project on the shelf and the closest match to our own audience of legacy printers and scanners). * chore: regenerate llms-full.txt for the alternatives-shelf refresh * chore: retrigger checks after PR body board-review fix * chore: retrigger checks after fetch-depth fix (#446)
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Problem
PR #436 sat
BLOCKEDfor 10 days (2026-09-10 to 2026-09-20).board-reviewwas crashing, not failing on content:
board-reviewandchangesboth check out withfetch-depth: 2, on theassumption (documented in the comment above
board-review) that apull_requestevent'sgithub.shais a merge commit one hop ahead of thereal head, so depth 2 reaches both the head and the base. That holds only
while the branch is at most ~1 commit past its base. PR #436 picked up a
second and third push (a missed regeneration, then a retrigger) after
opening, so its base sha fell outside the shallow history and
git difffailed outright with "bad revision" - not a lint failure, a crash, which
still shows as a red required check and blocks merge exactly as if it were.
changesruns the identicalgit diff base head, on the identicalassumption, and has not hit this yet only because no branch happened to
reach 3 commits while it mattered.
Fix
fetch-depth: 0(full history) on both checkouts. Small cost, and thecomment explaining the old depth-2 reasoning is corrected in place rather
than deleted quietly.
Test plan
python .github/check-workflows.py- clean.(same exit 128); this is a one-line
fetch-depthchange with no otherbehavioural difference, so no separate unit test applies.
BOARD: MERGE - the merge path itself was silently blocking a real PR for 10 days; this is a correctness fix to an existing gate, not a new one.
EVIDENCE:
python .github/check-workflows.pyclean; root cause reproduced against PR #436's job log (git diff --name-only 4242a8d... 13947af9...exit 128, both shas confirmed present onmain/the PR branch, so the failure is shallow-history-only, not a real missing commit).