Skip to content

chore: bump golang.org/x/vuln to v1.4.0, eliminate govulncheck version drift#40034

Merged
pelikhan merged 4 commits into
mainfrom
copilot/go-fan-review-govulncheck
Jun 18, 2026
Merged

chore: bump golang.org/x/vuln to v1.4.0, eliminate govulncheck version drift#40034
pelikhan merged 4 commits into
mainfrom
copilot/go-fan-review-govulncheck

Conversation

Copilot AI commented Jun 18, 2026

Copy link
Copy Markdown
Contributor

golang.org/x/vuln was pinned three different ways — v1.3.0 in go.mod, v1.1.4 in the tools Makefile target, and @latest in security-govulncheck — meaning local scans could silently diverge from CI and miss the exit-code propagation fix shipped in v1.4.0.

Changes

  • go.mod: bump golang.org/x/vuln v1.3.0v1.4.0 (picks up exit-code fix for wrapped scan errors that could previously mask a non-zero exit and weaken the security gate)
  • Makefilesecurity-govulncheck: replace install-then-invoke pattern with go run golang.org/x/vuln/cmd/govulncheck ./..., which resolves the binary directly from the module cache at the pinned go.mod version — no drift, no separate install step
  • Makefiletools: drop the stale go install golang.org/x/vuln/cmd/govulncheck@v1.1.4 line; govulncheck no longer needs pre-installation as a binary
-	@command -v govulncheck >/dev/null || go install golang.org/x/vuln/cmd/govulncheck@latest
-	govulncheck ./...
+	go run golang.org/x/vuln/cmd/govulncheck ./...

All three version pins now collapse to a single source of truth: v1.4.0 in go.mod.

Copilot AI and others added 2 commits June 18, 2026 11:48
Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
…rift

Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
Copilot AI changed the title [WIP] Review govulncheck usage in gh-aw chore: bump golang.org/x/vuln to v1.4.0, eliminate govulncheck version drift Jun 18, 2026
Copilot AI requested a review from pelikhan June 18, 2026 11:53
@pelikhan pelikhan marked this pull request as ready for review June 18, 2026 11:53
Copilot AI review requested due to automatic review settings June 18, 2026 11:53
@github-actions

github-actions Bot commented Jun 18, 2026

Copy link
Copy Markdown
Contributor

Test Quality Sentinel completed test quality analysis.

No test files were added or modified in this PR. Test Quality Sentinel skipped.

@github-actions

github-actions Bot commented Jun 18, 2026

Copy link
Copy Markdown
Contributor

PR Code Quality Reviewer completed the code quality review.

@github-actions

github-actions Bot commented Jun 18, 2026

Copy link
Copy Markdown
Contributor

Design Decision Gate 🏗️ completed the design decision gate check.

No ADR enforcement needed: PR #40034 does not have the 'implementation' label and has 0 new lines of code in business logic directories (≤100 threshold). The PR is a dependency bump (golang.org/x/vuln to v1.4.0) and skill script tweaks, which do not warrant an ADR.

@github-actions

github-actions Bot commented Jun 18, 2026

Copy link
Copy Markdown
Contributor

🧠 Matt Pocock Skills Reviewer has completed the skills-based review. ✅

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR consolidates govulncheck versioning onto a single source of truth by bumping golang.org/x/vuln to v1.4.0 in go.mod and updating the Makefile to invoke govulncheck via go run (avoiding separate binary installation/version drift). It also includes a small script header clarification and regenerates several compiled workflow lock files to include awk in the allowed tool lists.

Changes:

  • Bump golang.org/x/vuln to v1.4.0 (with corresponding go.sum updates, including golang.org/x/telemetry).
  • Update make security-govulncheck to run govulncheck via go run ... and remove the stale govulncheck install line from make tools.
  • Refresh a few workflow lock files’ allowlists (adding awk) and clarify the canonical/copy relationship in the install script header.
Show a summary per file
File Description
Makefile Switch security-govulncheck to go run ... and remove govulncheck from tools installs to prevent version drift.
go.mod Pin golang.org/x/vuln to v1.4.0 (single source of truth) and update indirect x/telemetry.
go.sum Update checksums to match the go.mod dependency bumps.
actions/setup-cli/install.sh Clarify which install script is canonical vs copied.
.github/workflows/spec-librarian.lock.yml Regenerate compiled lock output to include shell(awk) in allowed tools.
.github/workflows/go-fan.lock.yml Regenerate compiled lock output to include Bash(awk) in allowed tools.
.github/workflows/daily-testify-uber-super-expert.lock.yml Regenerate compiled lock output to include shell(awk) in allowed tools.
.github/workflows/daily-file-diet.lock.yml Regenerate compiled lock output to include shell(awk) in allowed tools.

Copilot's findings

Tip

Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

  • Files reviewed: 7/8 changed files
  • Comments generated: 0

@github-actions github-actions Bot mentioned this pull request Jun 18, 2026

@github-actions github-actions Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Skills-Based Review 🧠

Applied /diagnose and /zoom-out — approving. Clean, well-motivated maintenance work with no blocking issues.

📋 Key Themes & Highlights

Positive Highlights

  • ✅ Root cause properly addressed: three divergent version pins (v1.3.0 in go.mod, v1.1.4 in Makefile tools target, @latest in security target) collapsed to a single source of truth
  • go run invocation eliminates the install-then-run pattern and closes the drift window permanently
  • ✅ Picks up the v1.4.0 exit-code propagation fix that could previously mask a non-zero result and weaken the security gate
  • install.sh comment clarification correctly identifies which file is canonical

Minor Observation

The four .lock.yml changes add shell(awk) to allowed tool lists, which appears orthogonal to the govulncheck version bump — likely bundled in via a make recompile that picked up a separate source-workflow change. Not blocking, but the PR title/description does not describe this portion.

🧠 Reviewed using Matt Pocock's skills by Matt Pocock Skills Reviewer

Comment thread Makefile

@github-actions github-actions Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

REQUEST_CHANGES — two issues must be fixed before merge.

🔎 Review summary

What works well

The core goal — collapsing three divergent version pins to a single go.mod source of truth via go run — is sound. The go.sum updates are correct, and the install.sh comment fix is strictly better than before.

Blocking issues

1. Lock files were hand-edited instead of regenerated from markdown sources (high)
All 4 .lock.yml files received a direct Bash(awk) / shell(awk) addition, but none of the corresponding .md workflow source files were updated. make recompile --purge will silently overwrite these changes the next time it runs. See inline comment on go-fan.lock.yml:847.

2. make tools no longer installs a govulncheck binary (medium)
Dropping the go install line removes the only path that puts a govulncheck binary in $PATH. IDE integrations, pre-commit hooks, and direct CLI invocations break silently. tools.go still blank-imports the package, creating an inconsistency. See inline comment on Makefile:576.

Warning

Firewall blocked 1 domain

The following domain was blocked by the firewall during workflow execution:

  • proxy.golang.org

To allow these domains, add them to the network.allowed list in your workflow frontmatter:

network:
  allowed:
    - defaults
    - "proxy.golang.org"

See Network Configuration for more information.

🔎 Code quality review by PR Code Quality Reviewer

Comment thread .github/workflows/go-fan.lock.yml
Comment thread Makefile
@pelikhan

Copy link
Copy Markdown
Collaborator

@copilot merge main, recompile
Run pr-finisher skill

…-govulncheck

Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>

Copilot AI commented Jun 18, 2026

Copy link
Copy Markdown
Contributor Author

@copilot merge main, recompile
Run pr-finisher skill

Done. Merged origin/main (5 commits) into this branch with no conflicts, ran make recompile (250/250 workflows compiled, no lock file changes needed), and ran make fmt (clean). The merge commit has been pushed.

  • ✅ Reviews — no unresolved in-scope threads
  • ✅ Checks (local) — make fmt and make recompile pass
  • ❓ Checks (CI) — stale after agent push; needs human re-trigger. Prior failures: not inspected in this run.
  • ✅ Mergeable — branch is now up to date with main, no conflicts

Hand-off: CI must be re-triggered by a maintainer (close/reopen PR or push) before merge.

@pelikhan pelikhan merged commit bb2f7a9 into main Jun 18, 2026
38 checks passed
@pelikhan pelikhan deleted the copilot/go-fan-review-govulncheck branch June 18, 2026 12:53
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.

3 participants