Repository navigation
Update Go module dependencies and version - #172
Merged
Merged
Conversation
- Bump Go version from 1.25.8 to 1.27.3 - Update dependencies: - github.com/stretchr/testify from v1.11.1 to v1.12.1 - golang.org/x/crypto from v0.48.0 to v0.58.0 - golang.org/x/term from v0.40.0 to v0.47.0 - github.com/go-logr/logr from v1.4.3 to v1.4.4 - github.com/klauspost/compress from v1.18.4 to v1.20.3 - go.opentelemetry.io/otel and related packages from v1.39.0 to v1.47.0 - go.yaml.in/yaml/v3 from v3.0.4 to v3.0.5 - golang.org/x/net from v0.49.0 to v0.61.0 - golang.org/x/sys from v0.42.0 to v0.49.0 - golang.org/x/text from v0.34.0 to v0.43.0 - golang.org/x/sync from v0.19.0 to v0.24.0 - golang.org/x/mod from v0.32.0 to v0.41.0 - Remove indirect dependency on github.com/pmezard/go-difflib
|
Review the following changes in direct dependencies. Learn more about Socket for GitHub.
|
- Upgrade golangci-lint to v2.15.0 and change action version to v9 - Add .golangci.yml configuration for linters - Refactor benchmark report generation to use fmt.Fprintf for consistency - Update Go version in systemd README from 1.27.1 to 1.27.3 - Remove unnecessary natsConn.Drain() calls in multiple examples - Fix public key handling in tests and encoding - Change error handling channel to a struct channel for better clarity
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.



Description
Upgrades the Go toolchain from 1.25.8 to 1.27.3 and refreshes the
golang.org/x/*dependencies to clear the vulnerabilities reported bygovulncheck. It also fixes two CI jobs that the upgrade broke or that were already failing.Changes
Toolchain and dependencies
go.modande2e/go.mod:go 1.27.3.golang.org/x/{crypto,net,sys,text,term},otel,klauspost/compress,testifyand related modules bumped, thengo mod tidy.GO_VERSIONinci.ymlande2e-tests.yml, plus theDockerfilebuilder image, set to1.27.3.README.md,INSTALLATION.md, k8s instructions, systemd README.CI: security scan
jq -n '[inputs | select(.finding.trace[0].function != null) | .finding.osv] | unique | length'stacks,codeFlowsand ruletagsentries from the SARIF file before upload, so GitHub accepts it.CI: lint
golangci/golangci-lint-action@v6→@v9, with golangci-lint pinned tov2.15.0instead oflatest, so a future major release can't break CI unexpectedly..golangci.ymlin v2 format:comments,common-false-positives,legacyandstd-error-handlingexclusion presets, which roughly match v1's built-in exclusions.ST1005(error strings shouldn't be capitalised) is disabled for now. Changing those strings changes the error messages clients see, so it belongs in its own PR.ecdsa.PublicKey.X/.Y(see below).Fixes for new lint findings (no behaviour change)
defer natsConn.Drain(). It was deferred beforedefer natsConn.Close(), so it always ran afterCloseand immediately returnedErrConnectionClosed, doing nothing.pkg/eventconsumer: the keygen goroutines already handle their errors and only need to tell the caller that something failed. The channel now carriesstruct{}instead of an error that was received and then ignored.fmt.Fprintfinstead ofWriteString(fmt.Sprintf(...)), De Morgan's law, and shorter selectors for embedded fields.crypto/ecdsa.PublicKey.X/.Ydeprecation (Go 1.26)The stdlib now steers people away from the raw coordinates, towards
PublicKey.Bytes,ParseUncompressedPublicKeyandcrypto/ecdh. Those APIs only support NIST curves, and for other curves the stdlib suggests a third-party module. Following that advice:pkg/client/kms_signer_test.goPublicKey.Equalinstead of comparingX/Yexamples/hdwallet/ecdsabtcec/v2/ecdsainstead ofcrypto/ecdsawith raw coordinatespkg/mpc,pkg/encoding,pkg/ckdutiltestsecdsa.PublicKeyand its API needsX/Y. The fields are deprecated but not removed, and moving off them means migrating away from tss-lib types, which is out of scope here.Type of change
How has this been tested?
govulncheck ./...: 0 vulnerabilities in the main module and ine2e(run with-test).go build ./...,go vet ./...andgo test ./...pass.golangci-lint run(v2.15.0,--max-same-issues=0 --max-issues-per-linter=0): 0 issues.jqsteps on the SARIF and JSON from the failed CI run:Checklist
.golangci.ymlNotes for reviewers
e2e/base_test.go:65already failsgo vetbecause a context cancel function is never called. This PR leaves it alone.continue-on-error: true. Results go to the Security tab and don't block CI, as before.