From 32d97ba091844c535a042871cc4f0b50b0bd1966 Mon Sep 17 00:00:00 2001 From: William Bezuidenhout Date: Tue, 11 Nov 2025 10:19:00 +0200 Subject: [PATCH 01/17] remove deprecated build tags --- internal/batches/debug.go | 1 - internal/batches/workspace/bind_workspace_nonwin_test.go | 1 - 2 files changed, 2 deletions(-) diff --git a/internal/batches/debug.go b/internal/batches/debug.go index c5754d63e7..3a7310f664 100644 --- a/internal/batches/debug.go +++ b/internal/batches/debug.go @@ -1,5 +1,4 @@ //go:build debug -// +build debug package batches diff --git a/internal/batches/workspace/bind_workspace_nonwin_test.go b/internal/batches/workspace/bind_workspace_nonwin_test.go index 2943dcd598..238a884f13 100644 --- a/internal/batches/workspace/bind_workspace_nonwin_test.go +++ b/internal/batches/workspace/bind_workspace_nonwin_test.go @@ -1,5 +1,4 @@ //go:build !windows -// +build !windows package workspace From f15812d70b23299db513302d1c2908c700b2112b Mon Sep 17 00:00:00 2001 From: William Bezuidenhout Date: Tue, 11 Nov 2025 10:19:55 +0200 Subject: [PATCH 02/17] fix error string formatting --- cmd/src/batch_common.go | 2 +- cmd/src/signature_fetch.go | 2 +- internal/batches/docker/version.go | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/cmd/src/batch_common.go b/cmd/src/batch_common.go index 157af55927..21fdce2e21 100644 --- a/cmd/src/batch_common.go +++ b/cmd/src/batch_common.go @@ -632,7 +632,7 @@ func getBatchSpecDirectory(file string) (string, error) { func checkExecutable(cmd string, args ...string) error { if err := exec.Command(cmd, args...).Run(); err != nil { return fmt.Errorf( - "failed to execute \"%s %s\":\n\t%s\n\n'src batch' requires %q to be available.", + "failed to execute \"%s %s\":\n\t%s\n\n'src batch' requires %q to be available", cmd, strings.Join(args, " "), err, diff --git a/cmd/src/signature_fetch.go b/cmd/src/signature_fetch.go index e0bfa34e9f..4b9fd03a16 100644 --- a/cmd/src/signature_fetch.go +++ b/cmd/src/signature_fetch.go @@ -174,7 +174,7 @@ func (c cosignConfig) verifySignatureForImageHash(image string, hash string) err output, err := cmd.CombinedOutput() if err != nil { - return fmt.Errorf("Signature verification failed: %w\nOutput: %s", err, output) + return fmt.Errorf("signature verification failed: %w\nOutput: %s", err, output) } return nil diff --git a/internal/batches/docker/version.go b/internal/batches/docker/version.go index 84cfdcd1e7..d6a858f508 100644 --- a/internal/batches/docker/version.go +++ b/internal/batches/docker/version.go @@ -12,7 +12,7 @@ func CheckVersion(ctx context.Context) error { _, err := executeFastCommand(ctx, "version") if err != nil { return fmt.Errorf( - "failed to execute \"docker version\":\n\t%s\n\n'src batch' requires \"docker\" to be available.", + "failed to execute \"docker version\":\n\t%s\n\n'src batch' requires \"docker\" to be available", err, ) } From 563205a0bf7d417c04a597f305b1b740cd17bcc0 Mon Sep 17 00:00:00 2001 From: William Bezuidenhout Date: Tue, 11 Nov 2025 10:20:42 +0200 Subject: [PATCH 03/17] remove embedded field selectors --- cmd/src/code_intel_upload.go | 2 +- cmd/src/code_intel_upload_vendored.go | 22 +++++++++++----------- internal/servegit/serve_test.go | 2 +- internal/validate/kube/eks_test.go | 4 ++-- 4 files changed, 15 insertions(+), 15 deletions(-) diff --git a/cmd/src/code_intel_upload.go b/cmd/src/code_intel_upload.go index 24fab8eed6..90fb402107 100644 --- a/cmd/src/code_intel_upload.go +++ b/cmd/src/code_intel_upload.go @@ -89,7 +89,7 @@ func handleCodeIntelUpload(args []string) error { uploadID, err = UploadUncompressedIndex(ctx, codeintelUploadFlags.file, client, uploadOptions) } if err != nil { - return handleUploadError(uploadOptions.SourcegraphInstanceOptions.AccessToken, err) + return handleUploadError(uploadOptions.AccessToken, err) } uploadURL, err := makeCodeIntelUploadURL(uploadID) diff --git a/cmd/src/code_intel_upload_vendored.go b/cmd/src/code_intel_upload_vendored.go index b5e4897af0..d2771f9ad6 100644 --- a/cmd/src/code_intel_upload_vendored.go +++ b/cmd/src/code_intel_upload_vendored.go @@ -355,7 +355,7 @@ func performUploadRequest(ctx context.Context, httpClient upload.Client, opts up // body closed as part of performRequest //nolint:bodyclose - resp, body, err := performRequest(ctx, req, httpClient, opts.OutputOptions.Logger) + resp, body, err := performRequest(ctx, req, httpClient, opts.Logger) if err != nil { return false, err } @@ -377,11 +377,11 @@ func makeUploadRequest(opts uploadRequestOptions) (*http.Request, error) { if opts.UncompressedSize != 0 { req.Header.Set("X-Uncompressed-Size", strconv.Itoa(int(opts.UncompressedSize))) } - if opts.SourcegraphInstanceOptions.AccessToken != "" { - req.Header.Set("Authorization", fmt.Sprintf("token %s", opts.SourcegraphInstanceOptions.AccessToken)) + if opts.AccessToken != "" { + req.Header.Set("Authorization", fmt.Sprintf("token %s", opts.AccessToken)) } - for k, v := range opts.SourcegraphInstanceOptions.AdditionalHeaders { + for k, v := range opts.AdditionalHeaders { req.Header.Set(k, v) } @@ -461,16 +461,16 @@ func makeUploadURL(opts uploadRequestOptions) (*url.URL, error) { if opts.SourcegraphInstanceOptions.GitHubToken != "" { qs.Add("github_token", opts.SourcegraphInstanceOptions.GitHubToken) } - if opts.SourcegraphInstanceOptions.GitLabToken != "" { - qs.Add("gitlab_token", opts.SourcegraphInstanceOptions.GitLabToken) + if opts.GitLabToken != "" { + qs.Add("gitlab_token", opts.GitLabToken) } - if opts.UploadRecordOptions.Repo != "" { - qs.Add("repository", opts.UploadRecordOptions.Repo) + if opts.Repo != "" { + qs.Add("repository", opts.Repo) } - if opts.UploadRecordOptions.Commit != "" { - qs.Add("commit", opts.UploadRecordOptions.Commit) + if opts.Commit != "" { + qs.Add("commit", opts.Commit) } - if opts.UploadRecordOptions.Root != "" { + if opts.Root != "" { qs.Add("root", opts.UploadRecordOptions.Root) } if opts.UploadRecordOptions.Indexer != "" { diff --git a/internal/servegit/serve_test.go b/internal/servegit/serve_test.go index b314b76de4..cf708ad726 100644 --- a/internal/servegit/serve_test.go +++ b/internal/servegit/serve_test.go @@ -201,6 +201,6 @@ type testWriter struct { } func (tw testWriter) Write(p []byte) (n int, err error) { - tw.T.Log(string(p)) + tw.Log(string(p)) return len(p), nil } diff --git a/internal/validate/kube/eks_test.go b/internal/validate/kube/eks_test.go index f008034669..f6b515224f 100644 --- a/internal/validate/kube/eks_test.go +++ b/internal/validate/kube/eks_test.go @@ -162,8 +162,8 @@ func TestValidateServiceAccount(t *testing.T) { { name: "should pass if 'ebs-csi-controller-sa' present on cluster", sa: func(sa *corev1.ServiceAccount) { - sa.ObjectMeta.Name = "ebs-csi-controller-sa" - sa.ObjectMeta.Namespace = "kube-system" + sa.Name = "ebs-csi-controller-sa" + sa.Namespace = "kube-system" }, result: []validate.Result{ { From 19c4a7436c75f577e581c7ea6de7519246a8f61a Mon Sep 17 00:00:00 2001 From: William Bezuidenhout Date: Tue, 11 Nov 2025 10:21:23 +0200 Subject: [PATCH 04/17] convert if-else chains to tagged switches --- cmd/src/search.go | 10 ++++++---- internal/api/proxy.go | 6 +++--- internal/batches/workspace/workspace.go | 7 ++++--- internal/validate/kube/kube.go | 5 +++-- 4 files changed, 16 insertions(+), 12 deletions(-) diff --git a/cmd/src/search.go b/cmd/src/search.go index b4529da7c3..69ff1995b9 100644 --- a/cmd/src/search.go +++ b/cmd/src/search.go @@ -457,9 +457,10 @@ func applyHighlightsForFile(fileContent string, highlights []highlight) string { for _, highlight := range highlights { line := lines[highlight.line] for characterIndex, character := range []rune(line + "\n") { - if characterIndex == highlight.character { + switch characterIndex { + case highlight.character: result = append(result, []rune(start)...) - } else if characterIndex == highlight.character+highlight.length { + case highlight.character + highlight.length: result = append(result, []rune(end)...) } result = append(result, character) @@ -478,9 +479,10 @@ func applyHighlights(input string, highlights []highlight, start, end string) st for characterIndex, character := range []rune(line + "\n") { for _, highlight := range highlights { if highlight.line == lineNumber { - if characterIndex == highlight.character { + switch characterIndex { + case highlight.character: result = append(result, []rune(start)...) - } else if characterIndex == highlight.character+highlight.length { + case highlight.character + highlight.length: result = append(result, []rune(end)...) } } diff --git a/internal/api/proxy.go b/internal/api/proxy.go index 5e5fbf30ef..3cf8673829 100644 --- a/internal/api/proxy.go +++ b/internal/api/proxy.go @@ -54,12 +54,12 @@ func applyProxy(transport *http.Transport, proxyURL *url.URL, proxyPath string) transport.Proxy = nil proxyApplied = true } else if proxyURL != nil { - if proxyURL.Scheme == "socks5" || - proxyURL.Scheme == "socks5h" { + switch proxyURL.Scheme { + case "socks5", "socks5h": // SOCKS proxies work out of the box - no need to manually dial transport.Proxy = http.ProxyURL(proxyURL) proxyApplied = true - } else if proxyURL.Scheme == "http" || proxyURL.Scheme == "https" { + case "http", "https": dial := func(ctx context.Context, network, addr string) (net.Conn, error) { // Dial the proxy d := net.Dialer{} diff --git a/internal/batches/workspace/workspace.go b/internal/batches/workspace/workspace.go index b13f0b24dc..8aaf3b3234 100644 --- a/internal/batches/workspace/workspace.go +++ b/internal/batches/workspace/workspace.go @@ -56,11 +56,12 @@ const ( func NewCreator(ctx context.Context, preference, cacheDir, tempDir string, images map[string]docker.Image) (Creator, CreatorType) { var workspaceType CreatorType - if preference == "volume" { + switch preference { + case "volume": workspaceType = CreatorTypeVolume - } else if preference == "bind" { + case "bind": workspaceType = CreatorTypeBind - } else { + default: workspaceType = BestCreatorType(ctx, images) } diff --git a/internal/validate/kube/kube.go b/internal/validate/kube/kube.go index a1382e9116..1ad99bf767 100644 --- a/internal/validate/kube/kube.go +++ b/internal/validate/kube/kube.go @@ -379,13 +379,14 @@ func CurrentContextSetTo(clusterService string) error { return err } - if clusterService == "gke" { + switch clusterService { + case "gke": got := strings.Split(currentContext, "_")[0] want := clusterService if got != want { return errors.New("no gke cluster configured") } - } else if clusterService == "eks" { + case "eks": got := strings.Split(currentContext, ":") want := []string{"arn", "aws", clusterService} From 20065a24729e01cef73261211ed1359846354851 Mon Sep 17 00:00:00 2001 From: William Bezuidenhout Date: Tue, 11 Nov 2025 10:21:42 +0200 Subject: [PATCH 05/17] use fmt.Fprintf instead of Write with Sprintf --- internal/api/api.go | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/internal/api/api.go b/internal/api/api.go index 63cef92b50..a31fae55e4 100644 --- a/internal/api/api.go +++ b/internal/api/api.go @@ -236,8 +236,7 @@ func (r *request) do(ctx context.Context, result interface{}) (bool, error) { // Check trace header before we potentially early exit if *r.client.opts.Flags.trace { - _, err := r.client.opts.Out.Write([]byte(fmt.Sprintf("x-trace: %s\n", resp.Header.Get("x-trace")))) - if err != nil { + if _, err := fmt.Fprintf(r.client.opts.Out, "x-trace: %s\n", resp.Header.Get("x-trace")); err != nil { return false, err } } From ee7eef897db133888b4dc22ccc6b5e81d89d19e5 Mon Sep 17 00:00:00 2001 From: William Bezuidenhout Date: Tue, 11 Nov 2025 10:22:02 +0200 Subject: [PATCH 06/17] remove duplicate import --- internal/batches/executor/execution_cache_test.go | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/internal/batches/executor/execution_cache_test.go b/internal/batches/executor/execution_cache_test.go index d5ff754ffc..2aa3bc156a 100644 --- a/internal/batches/executor/execution_cache_test.go +++ b/internal/batches/executor/execution_cache_test.go @@ -6,14 +6,13 @@ import ( "github.com/google/go-cmp/cmp" - "github.com/sourcegraph/sourcegraph/lib/batches" batcheslib "github.com/sourcegraph/sourcegraph/lib/batches" "github.com/sourcegraph/sourcegraph/lib/batches/execution" "github.com/sourcegraph/sourcegraph/lib/batches/execution/cache" "github.com/sourcegraph/sourcegraph/lib/batches/git" ) -var cacheRepo1 = batches.Repository{ +var cacheRepo1 = batcheslib.Repository{ ID: "src-cli", Name: "github.com/sourcegraph/src-cli", BaseRef: "refs/heads/main", From 150400cd43b6ad071c40a6440dd5d9e2fa312d79 Mon Sep 17 00:00:00 2001 From: William Bezuidenhout Date: Tue, 11 Nov 2025 10:22:20 +0200 Subject: [PATCH 07/17] apply de morgan's law --- internal/batches/workspace/workspace_test.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/internal/batches/workspace/workspace_test.go b/internal/batches/workspace/workspace_test.go index 5a6c5dedb8..7bf667cbb2 100644 --- a/internal/batches/workspace/workspace_test.go +++ b/internal/batches/workspace/workspace_test.go @@ -13,7 +13,7 @@ import ( func TestBestWorkspaceCreator(t *testing.T) { ctx := context.Background() - isOverridden := !(runtime.GOOS == "darwin" && (runtime.GOARCH == "amd64" || runtime.GOARCH == "arm64")) + isOverridden := runtime.GOOS != "darwin" || (runtime.GOARCH != "amd64" && runtime.GOARCH != "arm64") uidGid := func(uid, gid int) docker.UIDGID { return docker.UIDGID{UID: uid, GID: gid} From 733ab5c59cf9c1512e6e70f387586ff13fa7a04f Mon Sep 17 00:00:00 2001 From: William Bezuidenhout Date: Tue, 11 Nov 2025 10:22:47 +0200 Subject: [PATCH 08/17] fix compilation errors --- internal/batches/executor/execution_cache_test.go | 2 +- internal/validate/kube/kube.go | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/internal/batches/executor/execution_cache_test.go b/internal/batches/executor/execution_cache_test.go index 2aa3bc156a..5357278420 100644 --- a/internal/batches/executor/execution_cache_test.go +++ b/internal/batches/executor/execution_cache_test.go @@ -20,7 +20,7 @@ var cacheRepo1 = batcheslib.Repository{ FileMatches: []string{"README.md", "main.go"}, } -var cacheRepo2 = batches.Repository{ +var cacheRepo2 = batcheslib.Repository{ ID: "sourcegraph", Name: "github.com/sourcegraph/sourcegraph", BaseRef: "refs/heads/main-2", diff --git a/internal/validate/kube/kube.go b/internal/validate/kube/kube.go index 1ad99bf767..ae7555b323 100644 --- a/internal/validate/kube/kube.go +++ b/internal/validate/kube/kube.go @@ -400,7 +400,7 @@ func CurrentContextSetTo(clusterService string) error { return errors.New("no eks cluster configured") } } - } else if clusterService == "aks" { + case "aks": colons := strings.Split(currentContext, ":") // aws string underscores := strings.Split(currentContext, "_") // gke string From 64642ad1c96fb3d6309f91b10bafcced0ba911bd Mon Sep 17 00:00:00 2001 From: William Bezuidenhout Date: Tue, 11 Nov 2025 10:23:10 +0200 Subject: [PATCH 09/17] remove more embedded field selectors --- cmd/src/code_intel_upload_vendored.go | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/cmd/src/code_intel_upload_vendored.go b/cmd/src/code_intel_upload_vendored.go index d2771f9ad6..9ea710f6c6 100644 --- a/cmd/src/code_intel_upload_vendored.go +++ b/cmd/src/code_intel_upload_vendored.go @@ -458,8 +458,8 @@ func decodeUploadPayload(resp *http.Response, body []byte, target *int) (bool, e func makeUploadURL(opts uploadRequestOptions) (*url.URL, error) { qs := url.Values{} - if opts.SourcegraphInstanceOptions.GitHubToken != "" { - qs.Add("github_token", opts.SourcegraphInstanceOptions.GitHubToken) + if opts.GitHubToken != "" { + qs.Add("github_token", opts.GitHubToken) } if opts.GitLabToken != "" { qs.Add("gitlab_token", opts.GitLabToken) @@ -471,13 +471,13 @@ func makeUploadURL(opts uploadRequestOptions) (*url.URL, error) { qs.Add("commit", opts.Commit) } if opts.Root != "" { - qs.Add("root", opts.UploadRecordOptions.Root) + qs.Add("root", opts.Root) } - if opts.UploadRecordOptions.Indexer != "" { - qs.Add("indexerName", opts.UploadRecordOptions.Indexer) + if opts.Indexer != "" { + qs.Add("indexerName", opts.Indexer) } - if opts.UploadRecordOptions.IndexerVersion != "" { - qs.Add("indexerVersion", opts.UploadRecordOptions.IndexerVersion) + if opts.IndexerVersion != "" { + qs.Add("indexerVersion", opts.IndexerVersion) } if opts.UploadRecordOptions.AssociatedIndexID != nil { qs.Add("associatedIndexId", formatInt(*opts.UploadRecordOptions.AssociatedIndexID)) @@ -499,12 +499,12 @@ func makeUploadURL(opts uploadRequestOptions) (*url.URL, error) { qs.Add("done", "true") } - path := opts.SourcegraphInstanceOptions.Path + path := opts.Path if path == "" { path = "/.api/scip/upload" } - parsedUrl, err := url.Parse(opts.SourcegraphInstanceOptions.SourcegraphURL + path) + parsedUrl, err := url.Parse(opts.SourcegraphURL + path) if err != nil { return nil, err } From 0a1407c36e57b48d95d6254979096273a3ddb295 Mon Sep 17 00:00:00 2001 From: William Bezuidenhout Date: Tue, 11 Nov 2025 10:23:29 +0200 Subject: [PATCH 10/17] remove final embedded field selectors --- cmd/src/code_intel_upload_vendored.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/cmd/src/code_intel_upload_vendored.go b/cmd/src/code_intel_upload_vendored.go index 9ea710f6c6..b25eb08a24 100644 --- a/cmd/src/code_intel_upload_vendored.go +++ b/cmd/src/code_intel_upload_vendored.go @@ -479,8 +479,8 @@ func makeUploadURL(opts uploadRequestOptions) (*url.URL, error) { if opts.IndexerVersion != "" { qs.Add("indexerVersion", opts.IndexerVersion) } - if opts.UploadRecordOptions.AssociatedIndexID != nil { - qs.Add("associatedIndexId", formatInt(*opts.UploadRecordOptions.AssociatedIndexID)) + if opts.AssociatedIndexID != nil { + qs.Add("associatedIndexId", formatInt(*opts.AssociatedIndexID)) } if opts.MultiPart { qs.Add("multiPart", "true") From a34a505ab4ee5b9bbc2b4fb36a1336b9501d107c Mon Sep 17 00:00:00 2001 From: William Bezuidenhout Date: Tue, 11 Nov 2025 10:24:49 +0200 Subject: [PATCH 11/17] Revert "apply de morgan's law" This reverts commit d76cb21c54ccf1242b4a057e89f847fe7896960c. --- internal/batches/workspace/workspace_test.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/internal/batches/workspace/workspace_test.go b/internal/batches/workspace/workspace_test.go index 7bf667cbb2..5a6c5dedb8 100644 --- a/internal/batches/workspace/workspace_test.go +++ b/internal/batches/workspace/workspace_test.go @@ -13,7 +13,7 @@ import ( func TestBestWorkspaceCreator(t *testing.T) { ctx := context.Background() - isOverridden := runtime.GOOS != "darwin" || (runtime.GOARCH != "amd64" && runtime.GOARCH != "arm64") + isOverridden := !(runtime.GOOS == "darwin" && (runtime.GOARCH == "amd64" || runtime.GOARCH == "arm64")) uidGid := func(uid, gid int) docker.UIDGID { return docker.UIDGID{UID: uid, GID: gid} From e202ac528852f9632b98a1c85682ae7bea6a120d Mon Sep 17 00:00:00 2001 From: William Bezuidenhout Date: Tue, 11 Nov 2025 10:25:39 +0200 Subject: [PATCH 12/17] ignore qf1001 and st1003 lint rules --- .golangci.yml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/.golangci.yml b/.golangci.yml index 39e52917b9..87095b2021 100644 --- a/.golangci.yml +++ b/.golangci.yml @@ -41,6 +41,11 @@ linters: govet: disable: - composites + staticcheck: + checks: + - all + - -QF1001 + - -ST1003 exclusions: generated: lax presets: From e1e71f3078b5d01409424cb5b3b2c9ec8a904d4d Mon Sep 17 00:00:00 2001 From: William Bezuidenhout Date: Tue, 11 Nov 2025 10:26:57 +0200 Subject: [PATCH 13/17] add comments for disabled lint rules --- .golangci.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.golangci.yml b/.golangci.yml index 87095b2021..a9a9f1c193 100644 --- a/.golangci.yml +++ b/.golangci.yml @@ -44,8 +44,8 @@ linters: staticcheck: checks: - all - - -QF1001 - - -ST1003 + - -QF1001 # De Morgan's law simplifications + - -ST1003 # Naming conventions (ID vs Id, URL vs Url, etc.) exclusions: generated: lax presets: From 67e4a670b3fb408892ec79bd51c2ddcbb09510c5 Mon Sep 17 00:00:00 2001 From: William Bezuidenhout Date: Tue, 11 Nov 2025 10:40:57 +0200 Subject: [PATCH 14/17] Revert "remove final embedded field selectors" This reverts commit 0a1407c36e57b48d95d6254979096273a3ddb295. --- cmd/src/code_intel_upload_vendored.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/cmd/src/code_intel_upload_vendored.go b/cmd/src/code_intel_upload_vendored.go index b25eb08a24..9ea710f6c6 100644 --- a/cmd/src/code_intel_upload_vendored.go +++ b/cmd/src/code_intel_upload_vendored.go @@ -479,8 +479,8 @@ func makeUploadURL(opts uploadRequestOptions) (*url.URL, error) { if opts.IndexerVersion != "" { qs.Add("indexerVersion", opts.IndexerVersion) } - if opts.AssociatedIndexID != nil { - qs.Add("associatedIndexId", formatInt(*opts.AssociatedIndexID)) + if opts.UploadRecordOptions.AssociatedIndexID != nil { + qs.Add("associatedIndexId", formatInt(*opts.UploadRecordOptions.AssociatedIndexID)) } if opts.MultiPart { qs.Add("multiPart", "true") From 9996de98e45ad5e9e5577388083d07710342a7bf Mon Sep 17 00:00:00 2001 From: William Bezuidenhout Date: Tue, 11 Nov 2025 10:40:57 +0200 Subject: [PATCH 15/17] Revert "remove more embedded field selectors" This reverts commit 64642ad1c96fb3d6309f91b10bafcced0ba911bd. --- cmd/src/code_intel_upload_vendored.go | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/cmd/src/code_intel_upload_vendored.go b/cmd/src/code_intel_upload_vendored.go index 9ea710f6c6..d2771f9ad6 100644 --- a/cmd/src/code_intel_upload_vendored.go +++ b/cmd/src/code_intel_upload_vendored.go @@ -458,8 +458,8 @@ func decodeUploadPayload(resp *http.Response, body []byte, target *int) (bool, e func makeUploadURL(opts uploadRequestOptions) (*url.URL, error) { qs := url.Values{} - if opts.GitHubToken != "" { - qs.Add("github_token", opts.GitHubToken) + if opts.SourcegraphInstanceOptions.GitHubToken != "" { + qs.Add("github_token", opts.SourcegraphInstanceOptions.GitHubToken) } if opts.GitLabToken != "" { qs.Add("gitlab_token", opts.GitLabToken) @@ -471,13 +471,13 @@ func makeUploadURL(opts uploadRequestOptions) (*url.URL, error) { qs.Add("commit", opts.Commit) } if opts.Root != "" { - qs.Add("root", opts.Root) + qs.Add("root", opts.UploadRecordOptions.Root) } - if opts.Indexer != "" { - qs.Add("indexerName", opts.Indexer) + if opts.UploadRecordOptions.Indexer != "" { + qs.Add("indexerName", opts.UploadRecordOptions.Indexer) } - if opts.IndexerVersion != "" { - qs.Add("indexerVersion", opts.IndexerVersion) + if opts.UploadRecordOptions.IndexerVersion != "" { + qs.Add("indexerVersion", opts.UploadRecordOptions.IndexerVersion) } if opts.UploadRecordOptions.AssociatedIndexID != nil { qs.Add("associatedIndexId", formatInt(*opts.UploadRecordOptions.AssociatedIndexID)) @@ -499,12 +499,12 @@ func makeUploadURL(opts uploadRequestOptions) (*url.URL, error) { qs.Add("done", "true") } - path := opts.Path + path := opts.SourcegraphInstanceOptions.Path if path == "" { path = "/.api/scip/upload" } - parsedUrl, err := url.Parse(opts.SourcegraphURL + path) + parsedUrl, err := url.Parse(opts.SourcegraphInstanceOptions.SourcegraphURL + path) if err != nil { return nil, err } From bd235ce1fa51d3308ffa30721034e95fe0275b36 Mon Sep 17 00:00:00 2001 From: William Bezuidenhout Date: Tue, 11 Nov 2025 10:40:57 +0200 Subject: [PATCH 16/17] Revert "remove embedded field selectors" This reverts commit 563205a0bf7d417c04a597f305b1b740cd17bcc0. --- cmd/src/code_intel_upload.go | 2 +- cmd/src/code_intel_upload_vendored.go | 22 +++++++++++----------- internal/servegit/serve_test.go | 2 +- internal/validate/kube/eks_test.go | 4 ++-- 4 files changed, 15 insertions(+), 15 deletions(-) diff --git a/cmd/src/code_intel_upload.go b/cmd/src/code_intel_upload.go index 90fb402107..24fab8eed6 100644 --- a/cmd/src/code_intel_upload.go +++ b/cmd/src/code_intel_upload.go @@ -89,7 +89,7 @@ func handleCodeIntelUpload(args []string) error { uploadID, err = UploadUncompressedIndex(ctx, codeintelUploadFlags.file, client, uploadOptions) } if err != nil { - return handleUploadError(uploadOptions.AccessToken, err) + return handleUploadError(uploadOptions.SourcegraphInstanceOptions.AccessToken, err) } uploadURL, err := makeCodeIntelUploadURL(uploadID) diff --git a/cmd/src/code_intel_upload_vendored.go b/cmd/src/code_intel_upload_vendored.go index d2771f9ad6..b5e4897af0 100644 --- a/cmd/src/code_intel_upload_vendored.go +++ b/cmd/src/code_intel_upload_vendored.go @@ -355,7 +355,7 @@ func performUploadRequest(ctx context.Context, httpClient upload.Client, opts up // body closed as part of performRequest //nolint:bodyclose - resp, body, err := performRequest(ctx, req, httpClient, opts.Logger) + resp, body, err := performRequest(ctx, req, httpClient, opts.OutputOptions.Logger) if err != nil { return false, err } @@ -377,11 +377,11 @@ func makeUploadRequest(opts uploadRequestOptions) (*http.Request, error) { if opts.UncompressedSize != 0 { req.Header.Set("X-Uncompressed-Size", strconv.Itoa(int(opts.UncompressedSize))) } - if opts.AccessToken != "" { - req.Header.Set("Authorization", fmt.Sprintf("token %s", opts.AccessToken)) + if opts.SourcegraphInstanceOptions.AccessToken != "" { + req.Header.Set("Authorization", fmt.Sprintf("token %s", opts.SourcegraphInstanceOptions.AccessToken)) } - for k, v := range opts.AdditionalHeaders { + for k, v := range opts.SourcegraphInstanceOptions.AdditionalHeaders { req.Header.Set(k, v) } @@ -461,16 +461,16 @@ func makeUploadURL(opts uploadRequestOptions) (*url.URL, error) { if opts.SourcegraphInstanceOptions.GitHubToken != "" { qs.Add("github_token", opts.SourcegraphInstanceOptions.GitHubToken) } - if opts.GitLabToken != "" { - qs.Add("gitlab_token", opts.GitLabToken) + if opts.SourcegraphInstanceOptions.GitLabToken != "" { + qs.Add("gitlab_token", opts.SourcegraphInstanceOptions.GitLabToken) } - if opts.Repo != "" { - qs.Add("repository", opts.Repo) + if opts.UploadRecordOptions.Repo != "" { + qs.Add("repository", opts.UploadRecordOptions.Repo) } - if opts.Commit != "" { - qs.Add("commit", opts.Commit) + if opts.UploadRecordOptions.Commit != "" { + qs.Add("commit", opts.UploadRecordOptions.Commit) } - if opts.Root != "" { + if opts.UploadRecordOptions.Root != "" { qs.Add("root", opts.UploadRecordOptions.Root) } if opts.UploadRecordOptions.Indexer != "" { diff --git a/internal/servegit/serve_test.go b/internal/servegit/serve_test.go index cf708ad726..b314b76de4 100644 --- a/internal/servegit/serve_test.go +++ b/internal/servegit/serve_test.go @@ -201,6 +201,6 @@ type testWriter struct { } func (tw testWriter) Write(p []byte) (n int, err error) { - tw.Log(string(p)) + tw.T.Log(string(p)) return len(p), nil } diff --git a/internal/validate/kube/eks_test.go b/internal/validate/kube/eks_test.go index f6b515224f..f008034669 100644 --- a/internal/validate/kube/eks_test.go +++ b/internal/validate/kube/eks_test.go @@ -162,8 +162,8 @@ func TestValidateServiceAccount(t *testing.T) { { name: "should pass if 'ebs-csi-controller-sa' present on cluster", sa: func(sa *corev1.ServiceAccount) { - sa.Name = "ebs-csi-controller-sa" - sa.Namespace = "kube-system" + sa.ObjectMeta.Name = "ebs-csi-controller-sa" + sa.ObjectMeta.Namespace = "kube-system" }, result: []validate.Result{ { From 6cb375fb71c79cfd5b6619f356df3320bdcee672 Mon Sep 17 00:00:00 2001 From: William Bezuidenhout Date: Tue, 11 Nov 2025 10:41:26 +0200 Subject: [PATCH 17/17] disable qf1008 embedded field lint --- .golangci.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.golangci.yml b/.golangci.yml index a9a9f1c193..c0a2851b19 100644 --- a/.golangci.yml +++ b/.golangci.yml @@ -45,6 +45,7 @@ linters: checks: - all - -QF1001 # De Morgan's law simplifications + - -QF1008 # Embedded field selector simplifications - -ST1003 # Naming conventions (ID vs Id, URL vs Url, etc.) exclusions: generated: lax