• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

pantsbuild / pants / 28345096986
93%

Build:
DEFAULT BRANCH: main
Ran 29 Jun 2026 02:45AM UTC
Jobs 11
Files 1759
Run time 3min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

29 Jun 2026 02:36AM UTC coverage: 92.803% (+0.001%) from 92.802%
28345096986

push

github

web-flow
Pin GOTOOLCHAIN=local in Go sandboxes for hermeticity (#23420)

Disclaimer: Like my previous Go PR, I'm still not primarily a golang
developer. However, the fact that Golang doesn't work properly in Pants
has been the bane of my existence for like 2 years now. The moment that
Mythos/Fable dropped I immediately had it dig deeply into whether the
whole road to proper-golang-in-pants could be opened up. So this is all
by Claude Code with Fable 5 (xhigh), with consults to GPT 5.5 (xhigh)
and Gemini 3.1 Pro. I've had it check and recheck, I ran many different
roles over it, and I had it explain and re-explain it to me, and then I
checked myself.

So, as much as I dislike AI slop and am worried about AI PR overload,
I've done my very best to avoid exactly that while still using AI. I
hope we can get this road unblocked.

The rest is Fable talking:

---

Since Go 1.21, the `go` command defaults to `GOTOOLCHAIN=auto`: when a
`go.mod` or `go.work` file demands a toolchain newer than the installed
SDK, `go` silently downloads that toolchain and re-execs it. Pants never
fingerprints the downloaded toolchain, so the same cached process result
can be produced by different toolchains on different machines. That is a
hermeticity hole in the Go backend.

This PR pins `GOTOOLCHAIN=local` in every Go subprocess sandbox. Builds
that demand a newer toolchain now fail fast with a deterministic,
actionable message:

```
go: go.mod requires go >= X.Y.Z (running go A.B.C; GOTOOLCHAIN=local)
```

Repos whose `go` directive is at or below the installed SDK version are
unaffected.

Changes:

- `sdk.py` (`setup_go_sdk_process`): add `"GOTOOLCHAIN": "local"` to the
process env. The entry is placed after `**env_vars` / `**request.env` so
a value passed via `[golang].subprocess_env_vars` cannot re-enable
toolchain switching.
- `golangci_lint/rules.py`: the lint runner script bypasses
`__run_go.sh` and invokes `go` directly, so it exports
`GOTOOLCHAIN=local` itself.
- Docs: new "Too... (continued)

23 of 23 new or added lines in 2 files covered. (100.0%)

93284 of 100518 relevant lines covered (92.8%)

3.69 hits per line

Jobs
ID Job ID Ran Files Coverage
1 test_python_linux_x86_64_1/10 - 28345096986.1 29 Jun 2026 02:48AM UTC 1204
49.21
GitHub Action Run
2 test_python_linux_x86_64_9/10 - 28345096986.2 29 Jun 2026 02:47AM UTC 1216
53.62
GitHub Action Run
3 test_python_linux_x86_64_7/10 - 28345096986.3 29 Jun 2026 02:47AM UTC 1210
50.99
GitHub Action Run
4 test_python_linux_arm64 - 28345096986.4 29 Jun 2026 02:44AM UTC 1188
51.95
GitHub Action Run
5 test_python_linux_x86_64_8/10 - 28345096986.5 29 Jun 2026 02:49AM UTC 1208
52.98
GitHub Action Run
6 test_python_linux_x86_64_5/10 - 28345096986.6 29 Jun 2026 02:46AM UTC 1221
59.18
GitHub Action Run
7 test_python_linux_x86_64_0/10 - 28345096986.7 29 Jun 2026 02:46AM UTC 1224
56.16
GitHub Action Run
8 test_python_linux_x86_64_2/10 - 28345096986.8 29 Jun 2026 02:46AM UTC 1209
58.54
GitHub Action Run
9 test_python_linux_x86_64_3/10 - 28345096986.9 29 Jun 2026 02:47AM UTC 1206
53.68
GitHub Action Run
10 test_python_linux_x86_64_6/10 - 28345096986.10 29 Jun 2026 02:45AM UTC 1200
49.46
GitHub Action Run
11 test_python_linux_x86_64_4/10 - 28345096986.11 29 Jun 2026 02:52AM UTC 1239
59.01
GitHub Action Run
Source Files on build 28345096986
  • Tree
  • List 1759
  • Changed 3
  • Source Changed 3
  • Coverage Changed 3
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #28345096986
  • df2f981f on github
  • Prev Build on main (#28336942568)
  • Next Build on main (#28411659577)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc