GeezerVison is showing github.com — chore/deps: update Go to 1.27.3 and all dependencies to latest by marcleblanc2 · Pull Request #1386 · sourcegraph/src-cli
Conversation
Stacked on #1383. Brings the toolchain and every dependency current ahead of the 8.1.2687 release, and cuts the changelog section for it.
Changes
- Go 1.27.3 (
mise.toml, both go.mod, dev/vendor-lib.sh, Docker builder images); Alpine 3.24 runtime images.
go get -u ./... + go mod tidy in the root and lib/ modules, same approach as Bump Go dependencies to latest #1354. Three deliberate pins:
github.com/derision-test/glock v1.1.4: v1.1.5's MockTicker can deliver two ticks for one BlockingAdvance, which panics internal/batches/watchdog tests (sync: negative WaitGroup counter). Same pin and comment as Bump Go dependencies to latest #1354.
github.com/gobwas/glob v0.2.3: v1 is a rewrite with different matching semantics; lib/ mirrors the monorepo's pin and batch spec globs are user-facing.
k8s.io/kube-openapi at the revision k8s.io/apimachinery v0.37.2 requires; the newest pulls conflicting structured-merge-diff majors.
src snapshot upload uses option.WithAuthCredentialsFile(option.ServiceAccount, …); the old WithCredentialsFile is deprecated. The credentials file Sourcegraph issues is a service account key, so no change for customers.
go fix ./... run twice in both modules (Go 1.27 modernizers), same approach as go: upgrade to Go 1.26 and modernize #1348 / go: upgrade to Go 1.26 and modernize #1349, plus the two leftovers lint flags: fmt.Fprintf in curlCmd and the inlined boolPtr test helper removed.
- GitHub Actions:
checkout v7, setup-node v7 with Node 26.13.0, setup-qemu v4, setup-buildx v4. goreleaser-action stays on v5 on purpose: v6+ installs goreleaser v2, which rejects .goreleaser-patch.yml (tap/folder were removed in v2) and fails check on the v1 config. Migrating to goreleaser v2 is a separate change.
- golangci-lint 2.15.0, shfmt 3.14.1, shellcheck 0.11.0.
- SCIP workflow:
go install github.com/scip-code/scip-go/cmd/[email protected] with the job's Go toolchain, replacing container: sourcegraph/scip-go. That Docker Hub image stopped at v0.1.26 (built with Go 1.26) and fails on Go 1.27 builds with nil module for userland package: uuid, because database/sql now imports the new stdlib uuid package. The newer ghcr.io/scip-code/scip-go nix image can't host JS actions (actions/checkout fails with exec /__e/node24/bin/node: no such file or directory), so the indexer is installed into the runner instead, the same way sourcegraph/scip-go-action@v2 does.
CHANGELOG.md: unreleased entries moved under ## 8.1.2687. DEVELOPMENT.md: later 8.1.x patch numbers must stay above 2687.
Tested
go build, go vet, ./dev/go-lint.sh (0 issues), Trivy exit 0 at all severities.
go test -race ./... and go test ./... green in both modules.
goreleaser check passes under goreleaser 1.26.2 (what the action installs).
- Built
src from main and from this branch: every src <cmd> -h page (45) and every src doc file (76) are byte-identical, so the generated reference docs do not change.
- Read-only commands against sourcegraph.sourcegraph.com produce identical output between the two builds:
version, login, search (text and -json), repos list/get, orgs list, users list, extsvc list, search-jobs list, config get, api (including -get-curl), batch validate, batch repositories.
- Not exercised: batch execution (no Docker on the test machine) and
snapshot upload against a real bucket.
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
- Go 1.27.3 in mise.toml, go.mod, lib/go.mod, dev/vendor-lib.sh and the
Docker builder images; Alpine 3.24 runtime images.
- go get -u ./... and go mod tidy in both modules. Pins:
- derision-test/glock v1.1.4: v1.1.5 MockTicker delivers duplicate
ticks (see go.mod comment), which breaks the watchdog test.
- gobwas/glob v0.2.3: v1 is a rewrite with different matching
semantics, and lib/ mirrors the monorepo's pin.
- k8s.io/kube-openapi at the version apimachinery v0.37.2 requires;
newer pulls conflicting structured-merge-diff majors.
- go fix ./... run twice in both modules (Go 1.27 modernizers), with
the two leftovers lint flags cleaned up: fmt.Fprintf in curlCmd and
the inlined boolPtr helper removed.
- GitHub Actions: checkout v7, setup-node v7,
setup-qemu v4, setup-buildx v4, Node 26.13.0 for npm publish.
goreleaser-action stays on v5: v6+ installs goreleaser v2, which
rejects .goreleaser-patch.yml (tap/folder removed in v2) and fails
check on the v1 config. Migrating to v2 is a separate change.
- golangci-lint 2.15.0, shfmt 3.14.1, shellcheck 0.11.0.
Co-authored-by: Amp <[email protected]>
Amp-Thread-ID: https://ampcode.com/threads/T-01a18b16-df86-7399-a300-979289761a30
Uh oh!
There was an error while loading. Please reload this page.
This was referenced Nov 3, 2026
Uh oh!
There was an error while loading. Please reload this page.
Assignees
No one assigned
Milestone
No milestone
Development
Successfully merging this pull request may close these issues.
Uh oh!
There was an error while loading. Please reload this page.
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.
|