all: update the x/tools dependency to fix the build with Go 1.25 (#432)

An unfortunate bug caused a number of packages in old x/tools versions
to fail to build with Go 1.25 (https://go.dev/issue/74462). Fix this
minimally by updating to the lowest patched version with the fix:
v0.24.1. This should allow wire to continue building with the same range
of Go versions as it could build with before (down to 1.19).

Also:
- Update the go.mod go directive to Go 1.19 to allow for module graph
  pruning, and to be consistent with the minimum build version.
- Fix a test that is broken in recent Go versions due to an error
  message change.
- Update tests to run on Go 1.25.x (the most recent version of Go).
- Remove coverage, since coverage upload wasn't working anyway.

Fixes #431
This commit is contained in:
Robert Findley
2025-08-21 10:01:40 -04:00
committed by GitHub
parent e57deea2f8
commit 5c5c92a1c5
8 changed files with 26 additions and 74 deletions

View File

@@ -2,4 +2,5 @@ github.com/google/subcommands
github.com/google/wire
github.com/pmezard/go-difflib
golang.org/x/mod
golang.org/x/sync
golang.org/x/tools

View File

@@ -21,19 +21,10 @@ if [[ $# -gt 0 ]]; then
exit 64
fi
# Run Go tests. Only do coverage for the Linux build
# because it is slow, and codecov will only save the last one anyway.
# Run Go tests.
result=0
if [[ "${RUNNER_OS:-}" == "Linux" ]]; then
echo "Running Go tests (with coverage)..."
go test -mod=readonly -race -coverpkg=./... -coverprofile=coverage.out ./... || result=1
if [ -f coverage.out ] && [ $result -eq 0 ]; then
bash <(curl -s https://codecov.io/bash)
fi
else
echo "Running Go tests..."
go test -mod=readonly -race ./... || result=1
fi
echo "Running Go tests..."
go test -mod=readonly -race ./... || result=1
# No need to run other checks on OSs other than linux.
# We default RUNNER_OS to "Linux" so that we don't abort here when run locally.

View File

@@ -1 +1 @@
example.com/foo/wire.go:x:y: foo not exported by package bar
example.com/foo/wire.go:x:y: name foo not exported by package bar

View File

@@ -476,7 +476,10 @@ func loadTestCase(root string, wireGoSrc []byte) (*testCase, error) {
wantWireError := err == nil
var wantWireErrorStrings []string
if wantWireError {
wantWireErrorStrings = strings.Split(string(wireErrb), "\n\n")
for _, errs := range strings.Split(string(wireErrb), "\n\n") {
// Allow for trailing newlines, which can be hard to remove in some editors.
wantWireErrorStrings = append(wantWireErrorStrings, strings.TrimRight(errs, "\n\r"))
}
} else {
if !*record {
wantWireOutput, err = ioutil.ReadFile(filepath.Join(root, "want", "wire_gen.go"))