ci: add scripts to build patched versions of Go runtime#84867
ci: add scripts to build patched versions of Go runtime#84867craig[bot] merged 1 commit intocockroachdb:masterfrom
Conversation
bbd59a5 to
8da42a3
Compare
|
Hmm, still have a failing test. :( |
|
I don't entirely understand what's happening and what I'm doing is likely unsound, but this patch fixed the test: diff --git i/pkg/testutils/lint/passes/loopvarcapture/loopvarcapture.go w/pkg/testutils/lint/passes/loopvarcapture/loopvarcapture.go
index 402c8c3fcb..cf919d0bb2 100644
--- i/pkg/testutils/lint/passes/loopvarcapture/loopvarcapture.go
+++ w/pkg/testutils/lint/passes/loopvarcapture/loopvarcapture.go
@@ -51,10 +51,11 @@ var (
// Analyzer implements this linter, looking for loop variables
// captured by reference in closures called in Go routines
Analyzer = &analysis.Analyzer{
- Name: name,
- Doc: doc,
- Requires: []*analysis.Analyzer{inspect.Analyzer},
- Run: run,
+ Name: name,
+ Doc: doc,
+ Requires: []*analysis.Analyzer{inspect.Analyzer},
+ Run: run,
+ RunDespiteErrors: true,
}
// GoRoutineFunctions is a collection of functions that are known toReproduced using: $ ./dev builder
$ ./dev test pkg/testutils/lint/passes/loopvarcaptureFrom what I understand, it's something to do with golang/go#36547, some funkiness in packages.Load expecting metadata for the pseudo C package with some combination of GOOS/CGO_ENABLED env vars. By specifying |
The script simply uses our existing cross toolchains and applies a patch to the Go sources for the fine-grained CPU attribution work. We make a custom `go` executable for all supported platforms except FreeBSD, for which we have no cross-compilers, and M1/M2 Macs, for which we don't have a code-signing pipeline set up yet. Also update `build/README.MD` to capture the new process of building dependencies. Part of cockroachdb#82625. Release note: None
|
I updated the test in question to use a version of the analyzer with |
|
bors r=irfansharif,rail |
|
Build failed: |
|
Build failed (retrying...): |
|
Build succeeded: |

The script simply uses our existing cross toolchains and applies a patch
to the Go sources for the fine-grained CPU attribution work. We make a
custom
goexecutable for all supported platforms except FreeBSD, forwhich we have no cross-compilers, and M1/M2 Macs, for which we don't
have a code-signing pipeline set up yet.
Also update
build/README.MDto capture the new process of buildingdependencies.
Part of #82625.
Release note: None