Skip to content

Commit 6250fa2

Browse files
committed
chore(sdk/go): deprecate the in-tree Go SDK and drop its CI gate
The Go SDK moved to github.com/ai-openshell/sdk-go (#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]>
1 parent 74eacee commit 6250fa2

5 files changed

Lines changed: 42 additions & 365 deletions

File tree

‎.github/workflows/branch-checks.yml‎

Lines changed: 28 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -601,25 +601,38 @@ jobs:
601601
602602
- name: Test release qualification summary
603603
run: mise run test:qualification-summary
604-
go:
605-
name: Go SDK
604+
sdk-go-freeze:
605+
# The Go SDK moved to ai-openshell/sdk-go (#5031). Its directory stays only
606+
# until the final deprecated sdk/go tag exists, so PRs must not add or change
607+
# files in it. Deleting files is allowed (the removal PR), and so are the
608+
# moved notice and the deprecation comment in README.md and go.mod.
609+
# Merge queue runs skip this job; the PR already passed it on its mirror.
610+
name: Go SDK Freeze
606611
needs: pr_metadata
607-
if: needs.pr_metadata.outputs.should_run == 'true'
608-
runs-on: linux-amd64-cpu8
609-
timeout-minutes: 30
610-
container:
611-
image: ghcr.io/nvidia/openshell/ci:9cb72baa2e61a1b5f12407e6e82da7fdba0aa722@sha256:67a9a0c32cb99825e6d3e9d9eec45d67149ea1ff7c11a1b1e1b3480d2d3df684
612-
credentials:
613-
username: ${{ github.actor }}
614-
password: ${{ secrets.GITHUB_TOKEN }}
612+
if: needs.pr_metadata.outputs.should_run == 'true' && github.event_name == 'push'
613+
runs-on: ubuntu-latest
614+
timeout-minutes: 5
615615
steps:
616616
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
617+
with:
618+
fetch-depth: 0
619+
persist-credentials: false
617620

618-
- name: Install tools
619-
run: mise install --locked
620-
621-
- name: Lint, build, test, proto-check
622-
run: mise run go:ci
621+
- name: Reject changes to sdk/go
622+
env:
623+
BASE_SHA: ${{ needs.pr_metadata.outputs.base_sha }}
624+
run: |
625+
set -euo pipefail
626+
changed=$(git diff --name-only --diff-filter=d "${BASE_SHA}...HEAD" -- \
627+
sdk/go ':!sdk/go/README.md' ':!sdk/go/go.mod')
628+
if [ -z "$changed" ]; then
629+
echo "No added or changed files under sdk/go."
630+
exit 0
631+
fi
632+
echo "::error title=Go SDK moved::The Go SDK moved to https://github.com/ai-openshell/sdk-go. Drop the sdk/go changes from this PR and open SDK changes there. Regenerated bindings are not needed here; sdk-go regenerates them from core releases."
633+
echo "Changed files under sdk/go:"
634+
echo "$changed"
635+
exit 1
623636
624637
markdown:
625638
name: Markdown

‎AGENTS.md‎

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -193,12 +193,8 @@ Follow `CONTRIBUTING.md` and `create-github-pr`. Authors without target-reposito
193193

194194
## Go SDK (`sdk/go/`)
195195

196-
- The Go SDK lives in `sdk/go/` with module path `github.com/NVIDIA/OpenShell/sdk/go`.
197-
- Run `mise run go:ci` for the full SDK CI pipeline (lint, build, test, proto-check, docs-check).
198-
- Proto bindings are generated with `mise run go:proto:gen` from the `.proto` files in `proto/`.
199-
- Domain types in `sdk/go/openshell/v1/types/` must not import proto packages.
200-
- Converters in `sdk/go/openshell/v1/internal/converter/` deep-copy slices and maps at boundaries.
201-
- Tests use bufconn for in-process gRPC and testify for assertions.
196+
- The Go SDK moved to [ai-openshell/sdk-go](https://github.com/ai-openshell/sdk-go) (module `github.com/ai-openshell/sdk-go`). Open SDK changes there.
197+
- `sdk/go/` is frozen until it is removed; Branch Checks fails PRs that change it. Proto changes do not need regenerated Go bindings.
202198

203199
## TypeScript SDK (`sdk/typescript/`)
204200

0 commit comments

Comments
 (0)