Skip to content

ci: drop redundant go build ./... step#93

Merged
mbertschler merged 1 commit into
mainfrom
ci-drop-redundant-go-build
Jun 7, 2026
Merged

ci: drop redundant go build ./... step#93
mbertschler merged 1 commit into
mainfrom
ci-drop-redundant-go-build

Conversation

@mbertschler
Copy link
Copy Markdown
Owner

What

Remove the standalone go build ./... step from the build / vet / test CI job.

Why

go vet ./... can't analyze code it can't compile, so it already invokes the type-checker on every package — including _test.go files, which go build ./... skips. For the default build it's a strict superset of go build ./... as a compile check. The only thing go build ./... adds is linking the main binaries, and that can't fail where compilation succeeds in a pure-Go tree.

This repo is pure Go:

  • SQLite is modernc.org/sqlite — no cgo
  • no import "C" anywhere
  • no assembly (*.s) and no //go:linkname

So go vet ./... passing guarantees cmd/squirrel builds. The step was doing nothing the vet step doesn't already do.

The go build -tags wailsdesktop ./cmd/squirrel-desktop step stays — it's not redundant: it compiles tag-gated code go vet ./... never touches, and links a real cgo/WebKit binary where link errors are genuinely possible. The job name stays accurate since that build remains.

This also aligns CI with the local "verify" guidance (vet/test/lint), which intentionally omits go build per a standing rule against leaving build artifacts.

No coverage lost.

`go vet ./...` already compiles and type-checks every package (including
test files, which `go build` skips), so for the default build it fully
subsumes `go build ./...` as a compile check. The only thing build adds
is linking the main binaries — and this is a pure-Go tree (modernc.org/
sqlite, no cgo/import "C", no assembly, no //go:linkname), so a
successful vet guarantees a successful link.

The `go build -tags wailsdesktop` step stays: it compiles tag-gated code
vet never sees and links a real cgo/WebKit binary, where link errors are
genuinely possible.
Copilot AI review requested due to automatic review settings June 7, 2026 12:27
Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

Removes a redundant compilation check from the CI “build / vet / test” job, relying on existing go vet/go test (and the existing tag-gated desktop build) to keep the same safety guarantees while simplifying the workflow.

Changes:

  • Removed the standalone go build ./... step from the CI test job.
  • Updated the inline workflow comment to reflect that only the wailsdesktop build needs the installed native dependencies.

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

@mbertschler mbertschler merged commit bae95b9 into main Jun 7, 2026
3 checks passed
@mbertschler mbertschler deleted the ci-drop-redundant-go-build branch June 7, 2026 12:31
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.

2 participants