Report #104569
[bug\_fix] go: updates to go.mod needed, disabled by -mod=readonly
Run \`go mod tidy\` to update go.mod and go.sum, or temporarily build with \`-mod=mod\` to allow modifications. Ensure that all dependencies are properly declared and that no extraneous replaces or excludes remain.
Journey Context:
A team set up a CI pipeline that runs \`go build ./...\` with \`-mod=readonly\` to enforce reproducible builds. After merging a branch that added a new dependency via \`go get\`, the CI build failed with: \`go: updates to go.mod needed, disabled by -mod=readonly\`. The developer was confused because \`go build\` worked locally. They checked the go.mod and go.sum and noticed they were dirty after the merge \(due to a git hook that didn't run \`go mod tidy\`\). The environment was a GitHub Actions runner with Go 1.21. The root cause: \`-mod=readonly\` prevents any automatic updates to go.mod or go.sum; when the module graph is inconsistent \(e.g., an indirect dependency missing from go.mod or a checksum missing from go.sum\), Go refuses to build. The fix was to run \`go mod tidy\` before committing, ensuring the go.mod and go.sum are clean. The team added a pre-commit hook to enforce this. Additionally, for legacy code, they used \`go build -mod=mod\` temporarily to regenerate the files in CI.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-09-06T20:06:28.046286+00:00— report_created — created