github-actions icon indicating copy to clipboard operation
github-actions copied to clipboard

CI tools go version build matrix

Open titpetric opened this issue 1 year ago • 0 comments

AST is heavily dependant on the go version in use; while it was assumed that 1.23 would cover the concerns of previous versions, that doesn't seem to be the case. It's likely we need to build go version specific ci-tools images;

Most of the stuff is in place, just needs a matrix (1.16 for 5-lts, 1.22+? for 5.3/latest, versions in support releases vary)

Current strategy is to ignore the go-fsck lint output on 5.3, which panics somewhere with x/tools; Recent updates to ci-tools have been made to 1.23, further debugging as part of the 5.3 release merges.

panic: runtime error: invalid memory address or nil pointer dereference [recovered]
	panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x1 addr=0x0 pc=0x7ff4ef]

goroutine 1312 [running]:
go/types.(*Checker).handleBailout(0xc0011aa000, 0xc000eadbf0)
	/usr/local/go/src/go/types/check.go:404 +0x88
panic({0xaaae00?, 0x1046f30?})
	/usr/local/go/src/runtime/panic.go:785 +0x132
go/types.(*StdSizes).Sizeof(0x0, {0xc3f890, 0x104e[280](https://github.com/TykTechnologies/tyk/actions/runs/10829556217/job/30047373260?pr=6507#step:8:281)})
	/usr/local/go/src/go/types/sizes.go:229 +0x30f
go/types.(*Config).sizeof(...)
	/usr/local/go/src/go/types/sizes.go:334
go/types.representableConst.func1({0xc3f890?, 0x104e280?})
	/usr/local/go/src/go/types/const.go:77 +0x86
go/types.representableConst({0xc42388, 0x101b900}, 0xc0011aa000, 0x104e280, 0xc000eaca30)
	/usr/local/go/src/go/types/const.go:93 +0x173
go/types.(*Checker).representation(0xc0011aa000, 0xc000b06d80, 0x104e280)
	/usr/local/go/src/go/types/const.go:257 +0x65
go/types.(*Checker).implicitTypeAndValue(0xc0011aa000, 0xc000b06d80, {0xc3f890, 0x104e280})
	/usr/local/go/src/go/types/expr.go:377 +0x2d7
go/types.(*Checker).convertUntyped(0xc0011aa000, 0xc000b06d80, {0xc3f890, 0x104e280})
	/usr/local/go/src/go/types/const.go:[290](https://github.com/TykTechnologies/tyk/actions/runs/10829556217/job/30047373260?pr=6507#step:8:291) +0x3f
go/types.(*Checker).matchTypes(0xc0011aa000, 0xc000b06d40, 0xc000b06d80)
	/usr/local/go/src/go/types/expr.go:928 +0x79
go/types.(*Checker).binary(0xc0011aa000, 0xc000b06d40, {0xc41328, 0xc0011a8060}, {0xc40f08, 0xc000ed8360}, {0xc41838, 0xc000ed8380}, 0x28, 0xa7ff)
	/usr/local/go/src/go/types/expr.go:802 +0x166
go/types.(*Checker).exprInternal(0xc0011aa000, 0x0, 0xc000b06d40, {0xc41328, 0xc0011a8060}, {0x0, 0x0})
	/usr/local/go/src/go/types/expr.go:1452 +0x206
go/types.(*Checker).rawExpr(0xc0011aa000, 0x0, 0xc000b06d40, {0xc41328?, 0xc0011a8060?}, {0x0?, 0x0?}, 0x0)
	/usr/local/go/src/go/types/expr.go:981 +0x18c
go/types.(*Checker).expr(0xc0011aa000, 0xc3f2c8?, 0xc000b06d40, {0xc41328?, 0xc0011a8060?})
	/usr/local/go/src/go/types/expr.go:1549 +0x30
go/types.(*Checker).stmt(0xc0011aa000, 0x0, {0xc416b8, 0xc0005c7980})
	/usr/local/go/src/go/types/stmt.go:579 +0xcea
go/types.(*Checker).stmtList(0xc0011aa000, 0x0, {0xc000ed84e0?, 0x7c9e00?, 0xc0011aa000?})
	/usr/local/go/src/go/types/stmt.go:121 +0x85
go/types.(*Checker).funcBody(0xc0011aa000, 0xc40f08?, {0xc000e80550?, 0x3?}, 0xc000b06940, 0xc0011a80f0, {0x0?, 0x0?})
	/usr/local/go/src/go/types/stmt.go:41 +0x2f3
go/types.(*Checker).funcDecl.func1()
	/usr/local/go/src/go/types/decl.go:888 +0x3a
go/types.(*Checker).processDelayed(0xc0011aa000, 0x0)
	/usr/local/go/src/go/types/check.go:516 +0x15c
go/types.(*Checker).checkFiles(0xc0011aa000, {0xc000370218, 0x1, 0x1})
	/usr/local/go/src/go/types/check.go:462 +0x17e
go/types.(*Checker).Files(0xc0001e8000?, {0xc000370218?, 0xc001188480?, 0x6?})
	/usr/local/go/src/go/types/check.go:422 +0x75
golang.org/x/tools/go/packages.(*loader).loadPackage(0xc0001e8000, 0xc000a5cf30)
	/go/pkg/mod/golang.org/x/[email protected]/go/packages/packages.go:1055 +0xa32
golang.org/x/tools/go/packages.(*loader).loadRecursive.func1()
	/go/pkg/mod/golang.org/x/[email protected]/go/packages/packages.go:854 +0x1a9
sync.(*Once).doSlow(0x0?, 0x0?)
	/usr/local/go/src/sync/once.go:76 +0xb4
sync.(*Once).Do(...)
	/usr/local/go/src/sync/once.go:67
golang.org/x/tools/go/packages.(*loader).loadRecursive(0x0?, 0x0?)
	/go/pkg/mod/golang.org/x/[email protected]/go/packages/packages.go:842 +0x3b
golang.org/x/tools/go/packages.(*loader).loadRecursive.func1.1(0x0?)
	/go/pkg/mod/golang.org/x/[email protected]/go/packages/packages.go:849 +0x26
created by golang.org/x/tools/go/packages.(*loader).loadRecursive.func1 in goroutine 1102
	/go/pkg/mod/golang.org/x/[email protected]/go/packages/packages.go:848 +0x94

titpetric avatar Sep 12 '24 11:09 titpetric