Skip to content

Bump minimum Go version to be 1.25#406

Merged
yuxincs merged 3 commits into
mainfrom
yuxincs/upgrade-to-go-126
May 15, 2026
Merged

Bump minimum Go version to be 1.25#406
yuxincs merged 3 commits into
mainfrom
yuxincs/upgrade-to-go-126

Conversation

@yuxincs
Copy link
Copy Markdown
Contributor

@yuxincs yuxincs commented Feb 24, 2026

Now that Go 1.26 is released, we follow our own version policy and bump the minimum Go version to be 1.25

We also bump the dependencies we use and update the code to leverage the new language features introduced in 1.25

@codecov
Copy link
Copy Markdown

codecov Bot commented Feb 24, 2026

Codecov Report

❌ Patch coverage is 74.50980% with 13 lines in your changes missing coverage. Please review.
✅ Project coverage is 87.25%. Comparing base (183b935) to head (20750bd).

Files with missing lines Patch % Lines
annotation/consume_trigger.go 79.48% 8 Missing ⚠️
tools/cmd/integration-test/golangci_lint.go 0.00% 5 Missing ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##             main     #406      +/-   ##
==========================================
+ Coverage   87.21%   87.25%   +0.04%     
==========================================
  Files          72       72              
  Lines        8312     8312              
==========================================
+ Hits         7249     7253       +4     
  Misses        869      869              
+ Partials      194      190       -4     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@yuxincs yuxincs force-pushed the yuxincs/upgrade-to-go-126 branch from 260a873 to 16880e3 Compare May 14, 2026 19:48
@github-actions
Copy link
Copy Markdown

Golden Test

Warning

❌ NilAway errors reported on stdlib are different 📉.

2570 errors on base branch (main, 183b935)
2398 errors on test branch (965b724)

Diffs
+ /opt/hostedtoolcache/go/1.25.9/x64/src/image/color/ycbcr.go:1:1: INTERNAL ERROR(s):
+ nilaway_assertion_analyzer: nilaway_function_analyzer: INTERNAL PANIC: runtime error: invalid memory address or nil pointer dereference
+ goroutine 113049 [running]:
+ runtime/debug.Stack()
+ 	/opt/hostedtoolcache/go/1.25.9/x64/src/runtime/debug/stack.go:26 +0x5e
+ go.uber.org/nilaway/assertion/function.analyzeFunc.func1()
+ 	/home/runner/work/nilaway/nilaway/assertion/function/analyzer.go:440 +0x5d
+ panic({0x8849c0?, 0xc83e30?})
+ 	/opt/hostedtoolcache/go/1.25.9/x64/src/runtime/panic.go:783 +0x132
+ go.uber.org/nilaway/assertion/function/preprocess.copyGraph(0x0)
+ 	/home/runner/work/nilaway/nilaway/assertion/function/preprocess/cfg.go:118 +0xac
+ go.uber.org/nilaway/assertion/function/preprocess.(*Preprocessor).CFG(0xc10ca07cd8, 0x0?, 0xc0008907b0)
+ 	/home/runner/work/nilaway/nilaway/assertion/function/preprocess/cfg.go:49 +0x2a
+ go.uber.org/nilaway/assertion/function/assertiontree.BackpropAcrossFunc({0x9c0a28, 0xc1093bcb40}, 0xc10a96a6e8, 0xc0008907b0, {0xc0008907b0, 0x0, 0xc10a96a6e8, 0xc10be5cf00, 0xc10be5ced0, 0xc10be5c9c0, ...}, ...)
+ 	/home/runner/work/nilaway/nilaway/assertion/function/assertiontree/backprop.go:911 +0x5e
+ go.uber.org/nilaway/assertion/function.analyzeFunc({0x9c0a28?, 0xc1093bcb40?}, 0xc10a96a6e8, 0xc0008907b0, {0xc0008907b0, 0x0, 0xc10a96a6e8, 0xc10be5cf00, 0xc10be5ced0, 0xc10be5c9c0, ...}, ...)
+ 	/home/runner/work/nilaway/nilaway/assertion/function/analyzer.go:446 +0xdd
+ go.uber.org/nilaway/assertion/function.run.func2()
+ 	/home/runner/work/nilaway/nilaway/assertion/function/analyzer.go:194 +0x65
+ sync.(*WaitGroup).Go.func1()
+ 	/opt/hostedtoolcache/go/1.25.9/x64/src/sync/waitgroup.go:239 +0x4a
+ created by sync.(*WaitGroup).Go in goroutine 62864
+ 	/opt/hostedtoolcache/go/1.25.9/x64/src/sync/waitgroup.go:237 +0x73
+ /opt/hostedtoolcache/go/1.25.9/x64/src/image/color/ycbcr.go:1:1: INTERNAL ERROR(s):
+ nilaway_assertion_analyzer: nilaway_function_analyzer: INTERNAL PANIC: runtime error: invalid memory address or nil pointer dereference
+ goroutine 184700 [running]:
+ runtime/debug.Stack()
+ 	/opt/hostedtoolcache/go/1.25.9/x64/src/runtime/debug/stack.go:26 +0x5e
+ go.uber.org/nilaway/assertion/function.analyzeFunc.func1()
+ 	/home/runner/work/nilaway/nilaway/assertion/function/analyzer.go:440 +0x5d
+ panic({0x8849c0?, 0xc83e30?})
+ 	/opt/hostedtoolcache/go/1.25.9/x64/src/runtime/panic.go:783 +0x132
+ go.uber.org/nilaway/assertion/function/preprocess.copyGraph(0x0)
+ 	/home/runner/work/nilaway/nilaway/assertion/function/preprocess/cfg.go:118 +0xac
+ go.uber.org/nilaway/assertion/function/preprocess.(*Preprocessor).CFG(0xc0b9ec5cd8, 0x18?, 0xc0055f8d80)
+ 	/home/runner/work/nilaway/nilaway/assertion/function/preprocess/cfg.go:49 +0x2a
+ go.uber.org/nilaway/assertion/function/assertiontree.BackpropAcrossFunc({0x9c0a28, 0xc1deac2d20}, 0xc14e5c8ab8, 0xc0055f8d80, {0xc0055f8d80, 0x0, 0xc14e5c8ab8, 0xc1decba6f0, 0xc1decba6c0, 0xc1deabf6b0, ...}, ...)
+ 	/home/runner/work/nilaway/nilaway/assertion/function/assertiontree/backprop.go:911 +0x5e
+ go.uber.org/nilaway/assertion/function.analyzeFunc({0x9c0a28?, 0xc1deac2d20?}, 0xc14e5c8ab8, 0xc0055f8d80, {0xc0055f8d80, 0x0, 0xc14e5c8ab8, 0xc1decba6f0, 0xc1decba6c0, 0xc1deabf6b0, ...}, ...)
+ 	/home/runner/work/nilaway/nilaway/assertion/function/analyzer.go:446 +0xdd
+ go.uber.org/nilaway/assertion/function.run.func2()
+ 	/home/runner/work/nilaway/nilaway/assertion/function/analyzer.go:194 +0x65
+ sync.(*WaitGroup).Go.func1()
+ 	/opt/hostedtoolcache/go/1.25.9/x64/src/sync/waitgroup.go:239 +0x4a
+ created by sync.(*WaitGroup).Go in goroutine 96855
+ 	/opt/hostedtoolcache/go/1.25.9/x64/src/sync/waitgroup.go:237 +0x73
+ 
+ INTERNAL PANIC: runtime error: invalid memory address or nil pointer dereference
+ goroutine 184724 [running]:
+ runtime/debug.Stack()
+ 	/opt/hostedtoolcache/go/1.25.9/x64/src/runtime/debug/stack.go:26 +0x5e
+ go.uber.org/nilaway/assertion/function.analyzeFunc.func1()
+ 	/home/runner/work/nilaway/nilaway/assertion/function/analyzer.go:440 +0x5d
+ panic({0x8849c0?, 0xc83e30?})
+ 	/opt/hostedtoolcache/go/1.25.9/x64/src/runtime/panic.go:783 +0x132
+ go.uber.org/nilaway/assertion/function/preprocess.copyGraph(0x0)
+ 	/home/runner/work/nilaway/nilaway/assertion/function/preprocess/cfg.go:118 +0xac
+ go.uber.org/nilaway/assertion/function/preprocess.(*Preprocessor).CFG(0xc0b9ec5cd8, 0x18?, 0xc00568d9b0)
+ 	/home/runner/work/nilaway/nilaway/assertion/function/preprocess/cfg.go:49 +0x2a
+ go.uber.org/nilaway/assertion/function/assertiontree.BackpropAcrossFunc({0x9c0a28, 0xc1deac2d20}, 0xc14e5c8ab8, 0xc00568d9b0, {0xc00568d9b0, 0x0, 0xc14e5c8ab8, 0xc1decbaff0, 0xc1decbafc0, 0xc1deabf6b0, ...}, ...)
+ 	/home/runner/work/nilaway/nilaway/assertion/function/assertiontree/backprop.go:911 +0x5e
+ go.uber.org/nilaway/assertion/function.analyzeFunc({0x9c0a28?, 0xc1deac2d20?}, 0xc14e5c8ab8, 0xc00568d9b0, {0xc00568d9b0,

 ...(truncated)...

t(s):
- 		- `t.ArrayType()` to `a` at runtime/type.go:221:3
- 
- (Same nil source could also cause potential nil panic(s) at 3 other place(s): "runtime/type.go:225:8", "runtime/type.go:228:8", and "runtime/type.go:229:28".)
- /opt/hostedtoolcache/go/1.25.9/x64/src/runtime/type.go:236:21: Potential nil panic detected. Observed nil flow from source to dereference point: 
- 	- abi/type.go:404:10: literal `nil` returned from `StructType()` in position 0
- 	- runtime/type.go:236:21: result 0 of `StructType()` accessed field `Fields` via the assignment(s):
- 		- `t.StructType()` to `s` at runtime/type.go:234:3
- /opt/hostedtoolcache/go/1.25.9/x64/src/runtime/type.go:457:22: Potential nil panic detected. Observed nil flow from source to dereference point: 
- 	- runtime/type.go:457:22: deep read from field `typemap` lacking guarding; accessed field `Hash` via the assignment(s):
- 		- `prev.typemap[...]` to `t` at runtime/type.go:454:5
- 
- (Same nil source could also cause potential nil panic(s) at 1 other place(s): "runtime/type.go:463:13".)
- /opt/hostedtoolcache/go/1.25.9/x64/src/runtime/type.go:525:10: Potential nil panic detected. Observed nil flow from source to dereference point: 
- 	- runtime/type.go:333:10: literal `nil` returned from `resolveTypeOff()` in position 0
- 	- runtime/type.go:602:19: result 0 of `resolveTypeOff()` passed as arg `t` to `typesEqual()` via the assignment(s):
- 		- `resolveTypeOff(...)` to `tityp` at runtime/type.go:600:4
- 	- runtime/type.go:525:10: function parameter `t` accessed field `Kind_`
- /opt/hostedtoolcache/go/1.25.9/x64/src/runtime/type.go:526:13: Potential nil panic detected. Observed nil flow from source to dereference point: 
- 	- runtime/type.go:333:10: literal `nil` returned from `resolveTypeOff()` in position 0
- 	- runtime/type.go:602:26: result 0 of `resolveTypeOff()` passed as arg `v` to `typesEqual()` via the assignment(s):
- 		- `resolveTypeOff(...)` to `vityp` at runtime/type.go:601:4
- 	- runtime/type.go:526:13: function parameter `v` accessed field `Kind_`
- /opt/hostedtoolcache/go/1.25.9/x64/src/runtime/utf8.go:108:3: Potential nil panic detected. Observed nil flow from source to dereference point: 
- 	- runtime/string.go:270:23: unassigned variable `dum` passed as arg `p` to `encoderune()`
- 	- runtime/utf8.go:108:3: function parameter `p` sliced into
- 
- (Same nil source could also cause potential nil panic(s) at 12 other place(s): "runtime/utf8.go:111:7", "runtime/utf8.go:112:3", "runtime/utf8.go:113:3", "runtime/utf8.go:119:7", "runtime/utf8.go:120:3", "runtime/utf8.go:121:3", "runtime/utf8.go:122:3", "runtime/utf8.go:125:7", "runtime/utf8.go:126:3", "runtime/utf8.go:127:3", "runtime/utf8.go:128:3", and "runtime/utf8.go:129:3".)
- /opt/hostedtoolcache/go/1.25.9/x64/src/runtime/vdso_linux.go:180:17: Potential nil panic detected. Observed nil flow from source to dereference point: 
- 	- runtime/vdso_linux.go:180:17: unassigned variable `hash` sliced into
- 
- (Same nil source could also cause potential nil panic(s) at 1 other place(s): "runtime/vdso_linux.go:181:16".)
- /opt/hostedtoolcache/go/1.25.9/x64/src/unique/canonmap.go:32:12: Potential nil panic detected. Observed nil flow from source to dereference point: 
- 	- abi/type.go:412:10: literal `nil` returned from `MapType()` in position 0
- 	- unique/canonmap.go:32:12: result 0 of `MapType()` accessed field `Hasher` via the assignment(s):
- 		- `abi.TypeOf(m).MapType()` to `mapType` at unique/canonmap.go:31:2
- /opt/hostedtoolcache/go/1.25.9/x64/src/unique/canonmap.go:32:12: Potential nil panic detected. Observed nil flow from source to dereference point: 
- 	- abi/type.go:412:10: literal `nil` returned from `MapType()` in position 0
- 	- unique/canonmap.go:32:12: result 0 of `MapType()` accessed field `Hasher` via the assignment(s):
- 		- `abi.TypeOf(m).MapType()` to `mapType` at unique/canonmap.go:31:2
- 
- (Same nil source could also cause potential nil panic(s) at 1 other place(s): "unique/canonmap_test.go:174:12".)
- /opt/hostedtoolcache/go/1.25.9/x64/src/unique/clone.go:58:17: Potential nil panic detected. Observed nil flow from source to dereference point: 
- 	- abi/type.go:404:10: literal `nil` returned from `StructType()` in position 0
- 	- unique/clone.go:58:17: result 0 of `StructType()` accessed field `Fields` via the assignment(s):
- 		- `typ.StructType()` to `styp` at unique/clone.go:57:2
- 
- (Same nil source could also cause potential nil panic(s) at 1 other place(s): "unique/clone.go:59:9".)
- /opt/hostedtoolcache/go/1.25.9/x64/src/unique/clone.go:74:10: Potential nil panic detected. Observed nil flow from source to dereference point: 
- 	- abi/type.go:420:10: literal `nil` returned from `ArrayType()` in position 0
- 	- unique/clone.go:74:10: result 0 of `ArrayType()` accessed field `Elem` via the assignment(s):
- 		- `typ.ArrayType()` to `atyp` at unique/clone.go:73:2
- 
- (Same nil source could also cause potential nil panic(s) at 1 other place(s): "unique/clone.go:76:12".)

@yuxincs yuxincs merged commit fd18775 into main May 15, 2026
9 checks passed
@yuxincs yuxincs deleted the yuxincs/upgrade-to-go-126 branch May 15, 2026 01:52
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants