chore: bump bifrost/core to v1.7.15 - #840
Conversation
bifrost/core v1.8.0 raised its own go directive to 1.27.0, which Go propagates into every module in the workspace. #830 (v1.8.4) therefore rewrote 'go 1.26.5' to 'go 1.27.0' in all seven go.mod files and failed CI against go.work, which still says 1.26.5. Adopting v1.8.x is a Go 1.27 migration rather than a dependency bump: it needs authbridge/go.work bumped and the four digest-pinned golang:1.26-alpine builders in cmd/*/Dockerfile moved to 1.27. Those set GOWORK=off but not GOTOOLCHAIN, so they would not fail — they would silently download the 1.27 toolchain mid-build and ship images where a pinned 1.26 base bootstraps an unpinned 1.27. Expressed as a version range rather than update-types so v1.7.x patches keep flowing; #840 takes v1.7.15, the newest release still on go 1.26.5. There is no API break waiting — v1.8.4 was built and tested against authlib with go.work at 1.27.0 and the full suite passed — so this gates only the toolchain decision. Applied to the three directories that require bifrost and have a Dependabot entry: authlib directly, authbridge-proxy and authbridge-envoy indirectly via authlib. Assisted-By: Claude (Anthropic AI) <noreply@anthropic.com> Signed-off-by: Hai Huang <huang195@gmail.com>
|
Warning Review limit reachedNext included review available in 48 minutes. View limit detailsLimit details: You’ve used the included review currently available. You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository. Review configuration: ⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Team Run ID: ⛔ Files ignored due to path filters (3)
📒 Files selected for processing (3)
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Team Run ID: ⛔ Files ignored due to path filters (3)
📒 Files selected for processing (3)
Included review availability: Your plan provides up to 1 included review per hour; 0 remain after this review. 📝 WalkthroughWalkthroughUpdated ChangesBifrost core dependency upgrade
Estimated code review effort: 1 (Trivial) | ~5 minutes Merge Risk: ⚪ Minimal · up to This PR updates bifrost/core from v1.7.13 to v1.7.15 without changing the Go toolchain or application behavior; no actionable merge-blocking risk remains after normal checks and review. Suggested reviewers: 🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
Full details: Linked Issues checkExplanation The PR does not satisfy issue Resolution Upgrade github.com/maximhq/bifrost/core to v1.8.4 and address the required Go, workspace, builder, toolchain, dependency, and API compatibility changes. Verify that the specified upstream fixes are included. Alternatively, update the linked issue to reflect the intentionally reduced v1.7.15 scope. Full details: Out of Scope Changes checkExplanation The reviewed changes only update github.com/maximhq/bifrost/core in the three modules that reference it. The changes are related to the dependency-upgrade objective and contain no unrelated code changes. Full details: Docstring CoverageExplanation No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check. Docstring coverage is scoped to functions touched by this diff. Analyzed 0 functions across 0 files. (3 skipped: 3 unsupported.) ✨ Finishing Touches 💡 1⚔️ Resolve merge conflicts 💡
🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
mrsabath
left a comment
There was a problem hiding this comment.
Clean, single-purpose patch bump of github.com/maximhq/bifrost/core v1.7.13 → v1.7.15 across the three authbridge modules that reference it. 6 files, 9/9 insert/delete, no go directive change.
Verified every load-bearing claim against authoritative sources:
| Claim | Source | Result |
|---|---|---|
v1.7.15 module hash h1:LOq+…uUv4= |
sum.golang.org | ✅ exact match |
v1.7.15 /go.mod hash h1:XQGQ99…WEDI= |
sum.golang.org | ✅ match — genuinely identical to v1.7.13 (go.mod unchanged, not a copy-paste artifact) |
v1.7.15 go directive is 1.26.5 |
proxy.golang.org .mod |
✅ confirmed — the premise for preferring v1.7.15 over v1.8.x holds |
| v1.7.13 hashes on removed lines | sum.golang.org | ✅ match |
Only reachable bifrost symbols: ModelProvider, Anthropic, OpenAI |
contextguru/plugin.go @ head |
✅ confirmed, one file |
Each go.sum swaps exactly the two v1.7.13 lines for the correct v1.7.15 lines — nothing else moves. Splitting the dependabot.yml >=1.8.0 gate into companion #838 keeps this PR focused. The v1.8.x analysis in the description (silent 1.27 toolchain download in the GOWORK=off but GOTOOLCHAIN-unset Dockerfile stages) is a sharp catch and a good reason to defer that move to a deliberate one.
CI green (DCO, CodeRabbit, add-to-project). No blocking issues, no inline comments. 一步一个脚印 — one solid step at a time. LGTM.
Supersedes #830, which proposed v1.8.4. bifrost v1.8.0 raised its go directive to 1.27.0, and Go propagates that into every module in the workspace, so Dependabot's PR rewrote `go 1.26.5` to `go 1.27.0` in all seven go.mod files while authbridge/go.work stayed at 1.26.5. CI failed with: go: module . listed in go.work file requires go >= 1.27.0, but go.work lists go 1.26.5 v1.7.15 is the last release still on go 1.26.5, so this takes two patch releases with no toolchain change. Verified: every module's go directive and go.work are untouched, all modules build and vet, and the full authlib suite passes (48 packages). Adopting v1.8.x is a Go 1.27 migration rather than a dependency bump. It needs authbridge/go.work bumped AND the four digest-pinned `golang:1.26-alpine` builders in cmd/*/Dockerfile moved to 1.27 — those set GOWORK=off but not GOTOOLCHAIN, so they would not fail, they would silently download the 1.27 toolchain mid-build and ship images where a pinned 1.26 base bootstraps an unpinned 1.27. It also commits every developer to Go 1.27.0, roughly a month old at time of writing. None of that buys anything today: authlib touches exactly three bifrost symbols — bschemas.ModelProvider, bschemas.Anthropic and bschemas.OpenAI — in one six-line function in plugins/contextguru/plugin.go. Nothing in bifrost 1.8 is reachable from our code, and #830 is not a security update. The code side of v1.8.x is already clear, for whenever the toolchain move happens deliberately: v1.8.4 was built and tested locally with go.work at 1.27.0 and the full authlib suite passed, so there is no API break waiting. Assisted-By: Claude (Anthropic AI) <noreply@anthropic.com> Signed-off-by: Hai Huang <huang195@gmail.com>
1dc7aa1 to
c4493ba
Compare
bifrost/core v1.8.0 raised its own go directive to 1.27.0, which Go propagates into every module in the workspace. #830 (v1.8.4) therefore rewrote 'go 1.26.5' to 'go 1.27.0' in all seven go.mod files and failed CI against go.work, which still says 1.26.5. Adopting v1.8.x is a Go 1.27 migration rather than a dependency bump: it needs authbridge/go.work bumped and the four digest-pinned golang:1.26-alpine builders in cmd/*/Dockerfile moved to 1.27. Those set GOWORK=off but not GOTOOLCHAIN, so they would not fail — they would silently download the 1.27 toolchain mid-build and ship images where a pinned 1.26 base bootstraps an unpinned 1.27. Expressed as a version range rather than update-types so v1.7.x patches keep flowing; #840 takes v1.7.15, the newest release still on go 1.26.5. There is no API break waiting — v1.8.4 was built and tested against authlib with go.work at 1.27.0 and the full suite passed — so this gates only the toolchain decision. Applied to the three directories that require bifrost and have a Dependabot entry: authlib directly, authbridge-proxy and authbridge-envoy indirectly via authlib. Assisted-By: Claude (Anthropic AI) <noreply@anthropic.com> Signed-off-by: Hai Huang <huang195@gmail.com>
Summary
Supersedes #830, which proposed v1.8.4. This takes v1.7.15 instead — the last release that does not force a Go toolchain migration.
Why #830 fails
bifrost v1.8.0 raised its own
godirective to1.27.0. Go propagates that into every module in the workspace, so Dependabot's PR rewrotego 1.26.5→go 1.27.0in all sevengo.modfiles whileauthbridge/go.workstayed at1.26.5:That also explains the odd file list on #830 — seven
go.modedits but only three matchinggo.sum, because most modules changed only theirgodirective.Why v1.7.15
godirectivego 1.26.5go 1.26.5go 1.27.0The requirement arrives at v1.8.0, so v1.7.15 gets two patch releases with zero toolchain change. Dependabot only ever proposes the newest version, so this middle ground was never surfaced.
What adopting v1.8.x would actually cost
Not the one-line
go.workbump it looks like:authbridge/go.work→1.27.0golang:1.26-alpinebuilders incmd/authbridge-{envoy,proxy,praxis,cpex}/Dockerfile→ 1.27 plus new digests. Those stages setGOWORK=offbut notGOTOOLCHAIN, so they would not fail — they would silently download the 1.27 toolchain mid-build and ship images where a pinned 1.26 base bootstraps an unpinned 1.27. Worse than a clean failure.CI itself is fine either way; it reads
go-version-file: authbridge/authlib/go.mod.And it buys nothing today. authlib touches exactly three bifrost symbols —
bschemas.ModelProvider,bschemas.Anthropic,bschemas.OpenAI— in one six-line function inplugins/contextguru/plugin.go:Nothing in bifrost 1.8 is reachable from our code, and #830 carries no security label.
Good news for later
The code side of v1.8.x is already clear. I built and tested v1.8.4 locally with
go.workat1.27.0: it compiles and the full authlib suite passes. There is no API break waiting — whenever the Go 1.27 move happens deliberately, it is purely a toolchain exercise.Verification
godirective andgo.workunchanged at1.26.5(confirmed explicitly, since that is the whole point)go build ./... && go vet ./...for every authbridge module: pass (all butcmd/authbridge-cpex, which has no packages without-tags cpexand cannot link locally withoutlibcpex_ffi)go test ./...across authlib: pass, 48 packagescmd/*go.sumfiles tidied by hand, mirroringdependabot-tidy.yml— that workflow is gated onif: github.actor == 'dependabot[bot]'and will not run on this branchDiff is 6 files, 9 insertions, 9 deletions: pure version bump in the three modules that reference bifrost.
Companion change: #838 gates
>=1.8.0in.github/dependabot.ymlso v1.8.x is not re-proposed weekly while 1.7.x patches keep flowing.Closes #830
Assisted-By: Claude Code
Summary by CodeRabbit