Skip to content

ci: fix build (Go version + proto submodule) — first green CI#1

Merged
shanev merged 2 commits into
mainfrom
ci/fix-go-version-and-proto-submodule
Jul 1, 2026
Merged

ci: fix build (Go version + proto submodule) — first green CI#1
shanev merged 2 commits into
mainfrom
ci/fix-go-version-and-proto-submodule

Conversation

@shanev

@shanev shanev commented Jul 1, 2026

Copy link
Copy Markdown
Contributor

CI has never passed on this repo. This is the first green build, gating the v0.1.0 tag and the public announcement.

Two independent breakages

1. Go version mismatch → govulncheck failure
setup-go pinned go-version: '1.22', but go.mod requires go 1.25.4. The stale 1.22 stdlib caused govulncheck ./... to report reachable stdlib advisories (e.g. GO-2024-2963), failing make ci. Fixed by switching to go-version-file: go.mod so CI always tracks the module's required Go version and can't drift again. Under a matching toolchain, govulncheck reports 0 affected vulnerabilities.

2. Missing proto submodule gitlink → buf lint would fail
third_party/xai-proto was declared in .gitmodules but had no gitlink committed, so submodules: true fetched nothing and buf lint would fail as soon as govulncheck was fixed. Pinned the gitlink to xai-org/xai-proto@17a2da08 (the commit the vendored gen/ was produced from, dated the open-source date). Upstream protos lint clean under buf's default rules.

Verification

Full make ci passes locally, exit 0 — gofmt, go test ./..., go vet, govulncheck, buf lint.

🤖 Generated with Claude Code

shanev and others added 2 commits July 1, 2026 13:47
…module

CI has never passed on this repo. Two independent breakages:

1. setup-go pinned go-version '1.22', but go.mod requires go 1.25.4. The
   stale 1.22 stdlib made `govulncheck ./...` report reachable stdlib
   advisories (e.g. GO-2024-2963), failing `make ci`. Switch to
   `go-version-file: go.mod` so CI always tracks the module's Go version
   and can't drift again. Under a matching toolchain govulncheck reports
   zero affected vulnerabilities.

2. The `third_party/xai-proto` submodule was declared in .gitmodules but
   had no gitlink committed, so `submodules: true` fetched nothing and
   `buf lint` would fail once govulncheck was fixed. Pin the gitlink to
   xai-org/xai-proto@17a2da08 (the commit the vendored gen/ was produced
   from). Upstream protos lint clean under buf's default rules.

Full `make ci` (gofmt, go test, go vet, govulncheck, buf lint) now passes.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Pinning CI to go.mod's Go version surfaced that go 1.25.4's stdlib now has
newer govulncheck advisories (GO-2026-4337, -4601, -4947, …) fixed only in a
later Go. Rather than chase patch versions, move the whole toolchain to latest:

- go.mod: go 1.25.4 -> 1.26.4 (clears all reachable stdlib advisories)
- deps (go get -u + tidy): grpc 1.77.0 -> 1.82.0, protobuf 1.36.10 -> 1.36.11,
  otel 1.39.0 -> 1.43.0, x/net 0.48.0 -> 0.56.0, x/sys, x/text, genproto
- buf: v1.33.0 -> v1.71.0 (Makefile + workflow install step)
- actions: checkout@v4 -> v7, setup-go@v5 -> v6

Full `make ci` passes: go test, go vet, govulncheck (0 vulnerabilities),
buf lint. Proto submodule already at upstream HEAD (xai-proto@17a2da08).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@shanev shanev merged commit 3d463bb into main Jul 1, 2026
1 check passed
@shanev shanev deleted the ci/fix-go-version-and-proto-submodule branch July 1, 2026 17:55
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