fix(oracle): match .slnx solutions + deepen shallow clone so Infer# can build#23
Conversation
The first real oracle dispatch on Dapper (run 27660966107 / 27661...) failed to
build for Infer# for two reasons, both fixed here:
1. Dapper's solution is `Dapper.slnx` (the newer XML solution format), which the
autodetect `find -name '*.sln'` did not match -> "0 root / 0 total" -> dir
fallback -> MSB1050. Now match both `*.sln` and `*.slnx`.
2. Even with the solution named explicitly, the build failed in
Nerdbank.GitVersioning ("Shallow clone lacks the objects required to calculate
version height"): the target is cloned `--depth 1`, but nbgv walks git history
to compute the version. Deepen with `git fetch --unshallow --tags` before
building (guarded with `|| true`; harmless when already complete).
CodeQL + own-check are unaffected (they read source, no build). docs/notes/oracle.md
updated. oracle.yml valid YAML; build-step bash parses; `.slnx` root-match verified.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Rg8kSk1YT14x7A1vo5zgED
|
You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard. |
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Repository UI Review profile: CHILL Plan: Pro Plus Run ID: 📒 Files selected for processing (2)
📝 WalkthroughWalkthroughThe oracle workflow's Infer# build-target logic is updated to match both ChangesInfer# Build Target Selection and Shallow Clone Deepening
Estimated code review effort🎯 2 (Simple) | ⏱️ ~8 minutes Possibly related PRs
Poem
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
Two build-blockers the first real Dapper run exposed
The first dispatch of
oracle (cross-tool)on DapperLib/Dapper (run 27660966107) got CodeQL + own-check running, but the Infer# build failed, so the comparison stayed CodeQL-only. Two distinct causes, both fixed:1. Dapper's solution is
Dapper.slnx, not.slnDapper moved to the newer XML solution format (
Dapper.slnx). The auto-detect'sfind -name '*.sln'didn't match it →note: 0 root / 0 total→ dir fallback →MSB1050(root has multiple projects).→ Auto-detect now matches both
*.slnand*.slnx.2. Shallow clone breaks Nerdbank.GitVersioning
Even with the solution named explicitly (
build: Dapper.slnx), the build died in nbgv:We clone the target
--depth 1, but nbgv (which Dapper uses to compute its version at build time) walks git history.→ Before building, deepen the clone:
git -C target fetch --unshallow --tags(guarded with|| true— harmless when already complete). CodeQL + own-check are unaffected (they read source, no build).Docs
docs/notes/oracle.mdupdated:.slnxis recognised, and the shallow clone is deepened for version tools like nbgv.Honest note
Building arbitrary third-party repos for Infer# is inherently fragile (SDK pins, restore, custom targets); that's why the build step is
continue-on-errorwith a partial report. These two fixes clear the specific blockers Dapper hit — a common stack (.slnx+ nbgv), so they should generalise.Verified
oracle.ymlvalid YAML · build-step bash parses ·.slnxroot-match check passes · no comparator change (--selfteststill 12/12).After merge
Re-dispatch
oracle (cross-tool),repo = DapperLib/Dapper, nobuildinput —Dapper.slnxis auto-picked and the deepened clone lets nbgv compute the version.🤖 Generated with Claude Code
Generated by Claude Code
Summary by CodeRabbit
Release Notes
Chores
Documentation