chore(go): bump Go to 1.26.4 to resolve stdlib CVEs#149
Conversation
## Summary
Bumps the manylinux builder image's Go toolchain from **1.26.1** to
**1.26.4** in `adbc_drivers_dev/.env`.
The `Docker Compose Build` workflow tags images as
`ghcr.io/adbc-drivers/dev:${MANYLINUX}-go${GO}`, so merging this (and
running the build with `push=true`) publishes a new
`manylinux2014-go1.26.4` image alongside the existing `go1.26.1` one.
## Why
`adbc-drivers/snowflake#149` bumps the Snowflake driver's `go/go.mod` to
`go 1.26.4` to clear stdlib CVEs. The shipped `.so` is compiled
**inside** the manylinux container, whose Go is pinned here. With the
container still on 1.26.1, the in-container build runs as `--user 1001`,
sees the `go 1.26.4` directive, and (under the default
`GOTOOLCHAIN=auto`) tries to auto-download the 1.26.4 toolchain into
`GOPATH=/go` — which it cannot create:
```
go: could not create module cache: mkdir /go: permission denied
```
Bumping the baked-in toolchain to 1.26.4 makes `GOTOOLCHAIN=auto`
resolve to the local toolchain (no download), so the build succeeds
**and** the artifact is genuinely compiled on 1.26.4.
## Follow-up
After this merges and the `manylinux2014-go1.26.4` image is pushed, the
consuming driver repos pick it up when their `pixi.lock` is re-pinned to
this commit.
lidavidm
left a comment
There was a problem hiding this comment.
You'll need to pixi add the new dev
Runs pixi update adbc-drivers-dev (pixi v0.63.2) to repin the dev tooling lock to adbc-drivers/dev@3abd1e7 (GO=1.26.4), which selects the ghcr.io/adbc-drivers/dev:manylinux2014-go1.26.4 builder image. This makes the in-container Go toolchain match the 'go 1.26.4' directive in go.mod, so the c-shared build no longer triggers a toolchain auto-download into the non-writable GOPATH=/go (mkdir /go: permission denied).
a8a6584 to
5e48861
Compare
|
Good call — regenerated For context: the new builder image is published, and an earlier run on this branch with the equivalent pin built all four platforms + tests + validate green (the |
Summary
Builds the driver on Go 1.26.4 by bumping the
godirective ingo/go.mod. The release build job installs Go via setup-go withgo-version-file: go/go.mod, so this one-line change rebuilds the shippedlibadbc_driver_snowflakeartifact on 1.26.4.Validation of #138
Checked every CVE in #138 against current dependency versions via the OSV / Go vulnerability database:
go 1.26.1directive. Go 1.26.1 leaves all 15 stdlib CVEs from [Go] minor CVEs in ADBC driver #138 open (7 fixed in 1.26.2, 8 in 1.26.3).Building on Go 1.26.4 clears all 15 stdlib CVEs from #138, plus 3 newer stdlib fixes that shipped in 1.26.4 (CVE-2026-27145, CVE-2026-42504, CVE-2026-42507). stdlib@1.26.4 reports zero known vulnerabilities.
Closes #138