Repository navigation
feat!: make the SDK a standalone module at github.com/ai-openshell/sdk-go - #4
Conversation
Add the hack/migration and hack/automation directories with their READMEs, the filter-repo message rules, and the history extraction and tree verification scripts used for the import from NVIDIA/OpenShell. Signed-off-by: Roland Huß <rhuss@redhat.com>
Formats the sdk/go commits of an open NVIDIA/OpenShell PR as patches, rewrites the module path inside them, and applies them with git am on port/<n>. Authors, dates, and the original Signed-off-by trailers are kept; the porter's format.signoff setting is ignored. Lines a 3-way merge leaves with the old path are rewritten, lines already in the base are not. Pushing and opening the PR needs --push. Signed-off-by: Roland Huß <rhuss@redhat.com>
Signed-off-by: Roland Huß <rhuss@redhat.com>
Rewrite every github.com/NVIDIA/OpenShell/sdk/go import, the go.mod module line, the buf M options, and the docs links. Signed-off-by: Roland Huß <rhuss@redhat.com>
…ntained buf.gen.yaml reads proto/ from NVIDIA/OpenShell at the tag in inputs[0].tag (v0.1.6), so no core checkout is needed. mise.toml carries its own tools and lockfile and adds format:check and core:version. Regenerating at v0.1.6 changes no bindings. Signed-off-by: Roland Huß <rhuss@redhat.com>
Add the go get line, a supported core versions note, and a migration section for consumers of github.com/NVIDIA/OpenShell/sdk/go. Docs links move to https://ai-openshell.github.io/sdk-go/. Copy LICENSE from core and ignore coverage.out and the built book. Signed-off-by: Roland Huß <rhuss@redhat.com>
Signed-off-by: Roland Huß <rhuss@redhat.com>
The OAuth client-credentials and OIDC token-bundle fixtures live in core's sdk/conformance/, which the tests reached through ../../../.. paths. Copy them next to the tests that read them, and check in conformance:check that they match core at the pinned tag. A fixture the pinned tag does not have yet (oidc-token-bundle.json came with NVIDIA/OpenShell#4830 after v0.1.7) is reported and skipped until the pin includes it. Signed-off-by: Roland Huß <rhuss@redhat.com>
v0.1.7 is the stable core release at the freeze. Its proto/ equals proto/ at the freeze commit, so the regenerated bindings do not change. Signed-off-by: Roland Huß <rhuss@redhat.com>
|
@pimlock @Gkrumbach07 the Go SDK history is in this repository now (#3 merged). This PR is the next step: it makes the SDK a standalone module at Could one of you review and approve it? Your approval also shows that the repository rules work without an admin: a code owner other than the last pusher has to approve. Two stacked drafts follow, governance (#5) and release automation with E2E (#6), and the three ported core PRs go up right after this one merges. |
Gkrumbach07
left a comment
There was a problem hiding this comment.
a few small non blocking follow ups
-
The docs links are broken for now. The README sends 26 links to ai-openshell.github.io/sdk-go, which returns 404 because no docs deploy workflow exists yet. The old site still works. Either add the deploy workflow or keep the old links until it does.
-
hack/automation/README.mdlists scripts and workflows that don’t exist yet. It should say they’re planned.
Summary
Make the imported SDK a standalone Go module at
github.com/ai-openshell/sdk-go, with bindings generated from core v0.1.7. Stacked on #3 (history import); review after #3 is merged.github.com/NVIDIA/OpenShell/sdk/goreference becomesgithub.com/ai-openshell/sdk-go(go.mod, imports, buf options, docs). Packages and APIs are unchanged.buf.gen.yamlreads core'sproto/through a git input pinned tov0.1.7. That tag line is the only pin;mise run core:versionprints it. Regenerating from v0.1.7 changes no file, because core'sproto/at the freeze equals v0.1.7.mise.tomlis self-contained (no core checkout): fmt, lint, build, test, proto:gen, proto:check, conformance:check, docs:check, andci.../../../../conformance.conformance:checkcompares them with core at the pinned tag.oidc-token-bundle.jsonis newer than v0.1.7 (fix(sdk/go): use the CLI oidc_token.json format NVIDIA/OpenShell#4830), so the check skips it with a warning until the pin includes it..github/workflows/ci.ymlrunsmise run cion pull requests and pushes tomain.hack/migration/(history extraction, tree verification, PR porting, and the recorded freeze commit).Breaking change for consumers
The import path changes. Consumers rewrite their imports and fetch the new module:
The first SDK release follows core:
v0.1.7is tagged once this PR and the release automation are in place.Testing
mise run cipasses locally: format, lint, build, tests (race),proto:checkandconformance:checkagainst v0.1.7, docs check.git grep 'NVIDIA/OpenShell/sdk/go'finds only the README's migration section andhack/migration/.Part of NVIDIA/OpenShell#5031.