Skip to content

Fix Go release smoke dependency setup - #4233

Merged
rossirpaulo merged 2 commits into
canaryfrom
agent/fix-go-release-smoke-dependency-graph
Jul 27, 2026
Merged

rossirpaulo merged 2 commits into
canaryfrom
agent/fix-go-release-smoke-dependency-graph

Conversation

@rossirpaulo

@rossirpaulo rossirpaulo commented Jul 27, 2026 •

Copy link
Copy Markdown
Contributor

Summary

  • reconcile the generated external Go consumer with go mod tidy before testing it
  • prevent the release smoke from using a single-module download that omits transitive requirements from the main module
  • add a release-contract regression assertion for the dependency setup

Root cause

The smoke test hand-writes an exact baml-go requirement, then previously ran go mod download github.com/boundaryml/baml-go@<version>. That command downloaded and authenticated only the named module. With Go's pruned module graph, the clean consumer still lacked the indirect protobuf requirement and checksums, so go test failed on every OS even though the published baml-go module was valid.

go mod tidy is the canonical minimal operation after client generation: it preserves the exact BAML version already pinned in go.mod, reconciles transitive requirements, and populates the consumer's go.sum.

Validation

  • python3 -m unittest scripts.tests.test_release_pipeline_contract — 22 tests passed
  • Python compilation and git diff --check passed
  • ran the corrected scripts/smoke-go-release.py end to end against public release 0.15.1-nightly.20260727.f; it resolved the exact proxy module, compiled the generated client, downloaded the manifest-selected native runtime, verified its checksum, and completed the runtime call successfully

Summary by CodeRabbit

  • Bug Fixes

    • Improved Go release smoke testing by reconciling the complete dependency graph before validation.
    • Reduced issues caused by incomplete or outdated module dependency metadata.
  • Tests

    • Added coverage to verify the Go release smoke script performs module tidying (and avoids module downloading) to prevent regressions.

@vercel

vercel Bot commented Jul 27, 2026 •

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
beps Ready Ready Preview, Comment Jul 27, 2026 11:13pm
promptfiddle Ready Ready Preview, Comment Jul 27, 2026 11:13pm
promptfiddle2 Ready Ready Preview, Comment Jul 27, 2026 11:13pm

Request Review

@coderabbitai

coderabbitai Bot commented Jul 27, 2026 •

Copy link
Copy Markdown
Contributor

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Repository UI

Review profile: CHILL

Plan: Pro Plus

Run ID: 9aeb5775-7791-45c8-ad01-dc0eedeccc8e

📥 Commits

Reviewing files that changed from the base of the PR and between 042cbc0 and 2b9e9a2.

📒 Files selected for processing (1)
  • scripts/tests/test_release_pipeline_contract.py
🚧 Files skipped from review as they are similar to previous changes (1)
  • scripts/tests/test_release_pipeline_contract.py

📝 Walkthrough

Walkthrough

The Go release smoke script now runs go mod tidy in the external consumer to reconcile generated imports. A contract test verifies this invocation and rejects version-specific go mod download usage.

Changes

Go release dependency reconciliation

Layer / File(s) Summary
Module resolution and contract validation
scripts/smoke-go-release.py, scripts/tests/test_release_pipeline_contract.py
The external consumer uses go mod tidy with the existing retry, working-directory, and environment settings; the contract test checks the new command and excludes the prior version-specific download.

Estimated code review effort: 2 (Simple) | ~10 minutes

Possibly related PRs

Poem

I tidy the modules, hop by hop,
No pinned download makes me stop.
Imports align in a cheerful array,
The smoke test guards the proper way.
Squeak! Go builds bright today.

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly reflects the main change: fixing dependency setup for the Go release smoke test.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch agent/fix-go-release-smoke-dependency-graph

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.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@github-actions

Copy link
Copy Markdown

⏭️ Performance benchmarks were skipped

Perf benchmarks (CodSpeed) are opt-in on pull requests — they no longer run on every push. They always run automatically after merge to canary/main.

To run them on this PR, do any of the following, then push a commit (or re-run CI):

  • Add RUN_CODSPEED=1 to the PR description, or
  • Include run-perf or /perf in the PR title or any commit message.

@vercel
vercel Bot temporarily deployed to Preview – beps July 27, 2026 22:46 Inactive

Copy link
Copy Markdown
Contributor Author

@coderabbitai review

@coderabbitai

coderabbitai Bot commented Jul 27, 2026 •

Copy link
Copy Markdown
Contributor
✅ Action performed

Review finished.

Note: CodeRabbit is an incremental review system and does not re-review already reviewed commits. This command is applicable only when automatic reviews are paused.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@scripts/tests/test_release_pipeline_contract.py`:
- Around line 995-1002: Broaden
test_go_release_smoke_reconciles_complete_dependency_graph so it rejects any
module-specific go mod download invocation, regardless of formatting or variable
names. Replace the exact-string negative assertion with a command-prefix check
or parsed invocation validation, while retaining the existing go mod tidy
assertion.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Repository UI

Review profile: CHILL

Plan: Pro Plus

Run ID: 983bcc57-e957-4b0b-bae3-bad79383aa48

📥 Commits

Reviewing files that changed from the base of the PR and between f4db7f8 and 042cbc0.

📒 Files selected for processing (2)
  • scripts/smoke-go-release.py
  • scripts/tests/test_release_pipeline_contract.py

@vercel
vercel Bot temporarily deployed to Preview – beps July 27, 2026 22:52 Inactive
@rossirpaulo
rossirpaulo added this pull request to the merge queue Jul 27, 2026
Merged via the queue into canary with commit 5ec671d Jul 27, 2026
33 of 35 checks passed
@rossirpaulo
rossirpaulo deleted the agent/fix-go-release-smoke-dependency-graph branch July 27, 2026 22:54
@vercel
vercel Bot temporarily deployed to Preview – promptfiddle2 July 27, 2026 22:59 Inactive
@vercel
vercel Bot temporarily deployed to Preview – promptfiddle July 27, 2026 23:13 Inactive

This branch was previously deployed

3 inactive deployments
Preview – promptfiddle — 2b9e9a2d Deployed Jul 27, 2026 by vercel[bot]
Preview – promptfiddle2 — 2b9e9a2d Deployed Jul 27, 2026 by vercel[bot]
Preview – beps — 2b9e9a2d Deployed Jul 27, 2026 by vercel[bot]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant