feat(go): add SDK with release-downloaded native bindings - #501
Open
anirudh-makuluri wants to merge 15 commits into
Open
feat(go): add SDK with release-downloaded native bindings#501anirudh-makuluri wants to merge 15 commits into
anirudh-makuluri wants to merge 15 commits into
Conversation
Publish per-platform Go modules from C SDK releases so consumers can go get the SDK without manual libmoss setup, build tags, or LD_LIBRARY_PATH. Co-authored-by: Cursor <cursoragent@cursor.com>
Large monolithic native-lib commits exceed GitHub HTTP push limits. Publish each platform lib module tag separately before bindings/sdk tags. Co-authored-by: Cursor <cursoragent@cursor.com>
Replace per-platform Go submodules (which hit GitHub's 100MB file limit) with a source-only distribution model. Consumers run tools/install or go generate to fetch libmoss.a from C SDK GitHub Releases with checksum verification. Co-authored-by: Cursor <cursoragent@cursor.com>
Resolve the bindings package directory with go list so installs land in the vendored module tree. Fall back to ~/.cache/moss-go when the module cache is read-only and print CGO_LDFLAGS for that case. Co-authored-by: Cursor <cursoragent@cursor.com>
anirudh-makuluri
requested review from
HarshaNalluru,
ashvathsureshkumar and
r4ghu
as code owners
July 29, 2026 21:22
Codex reviewNo issues found. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
c-sdk-v0.9.0GitHub Release instead of committing static libraries--vendoropt-in when a consumer needs the installer to regeneratevendor/Consumer flow
After your application imports the SDK:
go get github.com/usemoss/moss/sdks/go/sdk go run github.com/usemoss/moss/sdks/go/tools/install@latest --vendor go build .Use
--vendoronly when you allow the installer to rungo mod vendor; if the project already contains writable vendored Moss bindings, omit it.After merge, run Publish Go SDK with
v0.1.2to publish matchingsdks/go/{bindings,sdk,tools/install}/v0.1.2tags fromusemoss/moss. Fork-only tags cannot satisfy the canonical module path.Validation
go test ./...andgo vet ./...for the installerCGO_ENABLED=0 go test ./...insdks/go/sdkgo run ./tools/install --release c-sdk-v0.9.0insdks/goCGO_ENABLED=1 go build -v .insdks/go/bindingsandsdks/go/sdk--vendorflowPull Request Checklist
Type of Change