Skip to content

CI Pipeline#1

Merged
bueti merged 3 commits into
mainfrom
ci
Apr 18, 2026
Merged

CI Pipeline#1
bueti merged 3 commits into
mainfrom
ci

Conversation

@bueti
Copy link
Copy Markdown
Owner

@bueti bueti commented Apr 18, 2026

No description provided.

bueti added 3 commits April 18, 2026 13:45
CI runs on push and PR: builds, vets, and tests across Linux/macOS/Windows
on Go 1.21 (go.mod minimum) and latest stable. golangci-lint runs as a
separate job on Linux.

Release fires on vX.Y.Z tag pushes. It verifies the tag lives on main,
runs the test suite, and drafts a GitHub Release with auto-generated
notes. Tags containing "-" are marked as pre-releases. Because this is a
library, no binaries are built — proxy.golang.org picks up the tag and
consumers pull source via go get.

Dependabot keeps gomod and github-actions deps current.

README gains a Releasing section describing the tag-driven flow.
Pin every third-party GitHub Action to a full 40-char commit SHA with
the semver in a trailing comment. Tags are mutable; SHAs are not. This
defends against supply-chain attacks that move tags to malicious refs
(see tj-actions/changed-files, March 2025). Dependabot's
github-actions ecosystem keeps these pins current.

Bump to latest stable versions while pinning:
- actions/checkout v6.0.2
- actions/setup-go v6.4.0
- golangci/golangci-lint-action v9.2.0
- softprops/action-gh-release v3.0.0

Also clear the four errcheck findings golangci-lint v2 flagged on
fmt.Fprintf writes to stdout, by switching to cobra's cmd.Printf which
swallows the error by design.
Go 1.25 becomes the minimum supported version in go.mod, and every CI
and release job pins to the same version so the matrix is OS-only now.

Windows jobs were failing under pwsh: `go test -race
-coverprofile=coverage.out -covermode=atomic ./...` was being
misparsed, with `.out` treated as a package argument. Force `shell:
bash` at the job level so all steps run under the same shell on every
runner, which also fixes the failure.
@bueti bueti merged commit 1b29ece into main Apr 18, 2026
4 checks passed
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.

1 participant