Skip to content

chore(sdk/go): deprecate the in-tree Go SDK and drop its CI gate - #5245

Merged
elezar merged 1 commit into
NVIDIA:mainfrom
rhuss:chore/5031-deprecate-go-sdk/rhuss
Nov 4, 2026
Merged

elezar merged 1 commit into
NVIDIA:mainfrom
rhuss:chore/5031-deprecate-go-sdk/rhuss

Conversation

@rhuss

@rhuss rhuss commented Nov 4, 2026 •

Copy link
Copy Markdown
Contributor

Summary

The Go SDK moved to ai-openshell/sdk-go. This marks the in-tree module deprecated, drops its CI gate so proto changes no longer need regenerated Go bindings, and fails PRs that add or change files under sdk/go/ while the directory still exists.

Related Issue

Closes #5241 (part of #5031)

Changes

  • sdk/go/go.mod: // Deprecated: this module moved to github.com/ai-openshell/sdk-go. From the next sdk/go/vX.Y.Z tag on, go get and pkg.go.dev show it.
  • sdk/go/README.md: replaced with a moved notice and the import rewrite for consumers.
  • Branch Checks: removed the go job (mise run go:ci); tasks/ci.toml: removed go:ci from the ci aggregate. tasks/go.toml stays until the directory is removed.
  • Branch Checks: new Go SDK Freeze job. It fails when a PR adds or modifies files under sdk/go/, with a message pointing to sdk-go. Deleted files and the two notice files above are allowed, so the removal PR passes. It runs on mirror pushes only; merge queue runs skip it.
  • AGENTS.md: the Go SDK section now points to sdk-go and the freeze.
  • Deferred to the removal PR (chore(sdk/go): remove the in-tree Go SDK after the final deprecated tag #5242): the CodeQL Go matrix entry and sdk/go path (codeql.yml, codeql-config.yml), sdk-go-tag.yml, and the tag-sdk-go job in release-publish.yml (its needs list and expected-jobs check included). CodeQL keeps building sdk/go until then, and the tag job creates the final deprecated sdk/go/vX.Y.Z.

Release Notes

The Go SDK is now developed in ai-openshell/sdk-go with module path github.com/ai-openshell/sdk-go. The github.com/NVIDIA/OpenShell/sdk/go module is deprecated.

Testing

  • actionlint and zizmor --min-severity medium pass on branch-checks.yml
  • mise run markdown:lint passes
  • go mod edit -json and go list -m parse sdk/go/go.mod with the deprecation comment
  • Freeze guard logic checked locally against this branch (pass), a hand-written sdk/go edit (fail), deleting sdk/go/ (pass), and refactor(sdk)!: unify wait_ready and make it succeed only on Ready #5226's head (fail on sandbox_client.go and its test)
  • Unit tests added/updated (not applicable)
  • E2E tests added/updated (not applicable)

Checklist

  • Follows Conventional Commits
  • Commits are signed off (DCO)

The Go SDK moved to github.com/ai-openshell/sdk-go (NVIDIA#5031). Mark the
old module deprecated so pkg.go.dev and go get point users there, and
replace the README with a moved notice and migration steps.

Drop the go job from Branch Checks and go:ci from the ci aggregate, so
proto changes no longer need regenerated Go bindings in this repository.
Add a Go SDK Freeze job that fails when a PR adds or changes files
under sdk/go. Deletions (the removal PR) and the README and go.mod
notices are allowed.

The directory itself is removed in a follow-up once the final
deprecated sdk/go tag exists.

Signed-off-by: Roland Huß <[email protected]>
@rhuss
rhuss requested review from a team, derekwaynecarr, mrunalp and sjenning as code owners November 4, 2026 10:43
@copy-pr-bot

copy-pr-bot Bot commented Nov 4, 2026

Copy link
Copy Markdown

This pull request requires additional validation before any workflows can run on NVIDIA's runners.

Pull request vetters can view their responsibilities here.

Contributors can view more details about this message here.

@elezar elezar left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Approving. The deprecation, CI-gate removal and freeze job look right, and the freeze is enforced through the OpenShell / Branch Checks gate on PRs. All comments are non-blocking.

Not anchored: the CodeQL Go matrix entry (codeql.yml, codeql-config.yml) and sdk-go-tag.yml still reference sdk/go. Deferring them to the removal PR is fine; please note that in the PR description or on #5031 so it isn't lost.

Comment thread .github/workflows/branch-checks.yml Resolved
Comment thread sdk/go/README.md Resolved
@SDAChess SDAChess added the area:sdk:go Go SDK label Nov 4, 2026
@SDAChess

SDAChess commented Nov 4, 2026

Copy link
Copy Markdown
Member

/ok-to-test 6250fa2

@SDAChess SDAChess added area:build CI/CD workflows, releases, build targets, packaging, and artifact publication. and removed area:sdk:go Go SDK labels Nov 4, 2026

@elezar elezar left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

LGTM.

@elezar
elezar enabled auto-merge November 4, 2026 12:45
@elezar
elezar added this pull request to the merge queue Nov 4, 2026
Merged via the queue into NVIDIA:main with commit 7cfa14f Nov 4, 2026
120 of 124 checks passed
feloy added a commit to feloy/OpenShell that referenced this pull request Nov 9, 2026
Drop the six Go SDK updates from this branch after the SDK moved to
ai-openshell/sdk-go. Restore the generated protobuf bindings, profile
types, converters, and tests together to keep the snapshot consistent.

The Go SDK CI gate was removed in NVIDIA#5245 and replaced with a freeze check
that rejects additions or modifications under sdk/go. Support for the
new provider profile fields belongs in the standalone SDK repository.

Validation: mise run go:test passed, including race detection and
compatibility tests. Verified sdk/go matches the branch merge base and
git diff --check passes.

Signed-off-by: Philippe Martin <[email protected]>
computedocean pushed a commit to computedocean/OpenShell that referenced this pull request Nov 11, 2026
…-go (NVIDIA#5461)

* chore(sdk/go)!: remove the Go SDK, now at github.com/ai-openshell/sdk-go

The Go SDK moved to github.com/ai-openshell/sdk-go (NVIDIA#5031), and the
final sdk/go tag carries the deprecation notice. Remove what is left of
it from this repository:

- sdk/go/, tasks/go.toml, and the Go toolchain and tools in mise.toml
  and mise.lock (nothing else here is written in Go)
- the Go entry, setup, and build steps in CodeQL, and sdk/go in the
  CodeQL config
- sdk-go-tag.yml and the tag-sdk-go job in release-publish.yml,
  including its needs entry and the expected-publisher check
- the Go SDK Freeze job in Branch Checks, which has nothing left to
  guard

docs/sdk/go.mdx now shows the new module path, pins the SDK version to
the gateway's, and keeps the migration steps from the old module that
were reviewed on NVIDIA#5245. README, CONTRIBUTING, AGENTS, TESTING, CI.md,
buf.yaml, and the Windows skill drop or redirect their sdk/go
references. Existing sdk/go/vX.Y.Z tags stay, so builds that use the
old module path keep working.

BREAKING CHANGE: github.com/NVIDIA/OpenShell/sdk/go is no longer
developed in this repository; use github.com/ai-openshell/sdk-go.

Signed-off-by: Roland Huß <[email protected]>

* ci: drop the go-sdk compatibility surface

With sdk/go removed, the compatibility review has no Go SDK left to
review. Remove go-sdk from the required surfaces in the review prompt
and in the report validator, which rejects reviews that don't cover
exactly the listed surfaces, and drop Go from the CI.md descriptions of
the compatibility review, CodeQL, and the release publishers.

Signed-off-by: Roland Huß <[email protected]>

---------

Signed-off-by: Roland Huß <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area:build CI/CD workflows, releases, build targets, packaging, and artifact publication.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

chore(sdk/go): deprecate the in-tree Go SDK and stop requiring Go bindings in core PRs

3 participants