Skip to content

Split Go bindings into separate module#364

Merged
jupblb merged 3 commits intomainfrom
michal/go-bindings
Feb 24, 2026
Merged

Split Go bindings into separate module#364
jupblb merged 3 commits intomainfrom
michal/go-bindings

Conversation

@jupblb
Copy link
Copy Markdown
Collaborator

@jupblb jupblb commented Feb 24, 2026

Move bindings/go/scip/ into its own Go module so consumers of the bindings library don't pull in CLI dependencies like urfave/cli, sqlite, gocloc, etc. With this change we also upgrade to Go 1.25.

Move bindings/go/scip/ into its own Go module
(github.com/sourcegraph/scip/bindings/go/scip) so consumers of the
bindings library don't pull in CLI dependencies like urfave/cli,
sqlite, gocloc, etc.

- Create bindings/go/scip/go.mod with only the deps needed by the
  bindings package and its sub-packages (internal/, testutil/,
  memtest/, speedtest/)
- Create go.work at repo root linking root, bindings, and reprolang
  modules for seamless local development
- Add replace directives in root go.mod and reprolang/go.mod to
  reference the local bindings module
- Update flake.nix: speedtest uses modRoot for bindings module,
  scip CLI uses proxyVendor for replace directive support
- Update checks.nix: go-bindings check uses modRoot for bindings
  module, all Go builds set GOWORK=off (standard nixpkgs pattern)
- Update all vendorHash values
Adds a 'packages' job to the Nix workflow that builds scip, speedtest,
and proto-generate to catch build failures on PRs.
@jupblb jupblb merged commit 49f6e83 into main Feb 24, 2026
11 checks passed
@jupblb jupblb deleted the michal/go-bindings branch February 24, 2026 14:58
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