Skip to content

ci: gate push/PR on go test ./... (currently only run at release) #311

Description

@mostlydev

Problem

.github/workflows/ has image-build, deploy-site, and release workflows, but none runs the test suite. go test is only exercised at release time (goreleaser), so any commit that lands on master between release tags is unverified by CI.

The suite is substantial (~1:1 test:source ratio), which makes the lack of a continuous gate the weak link: a regression can sit on the default branch until the next tag.

Proposal

Add a ci.yml that runs on push and pull_request:

  • go build ./...
  • go vet ./...
  • gofmt -l . (fail on diff)
  • go test ./...

gnit's .github/workflows/ci.yml is a good shape to mirror (lint + test on push and PR, OS matrix) — the Go equivalents are gofmt/go vet/go test.

Why it matters

The build is dependency-light, so the run is cheap and fast. Gating push/PR keeps master continuously green rather than only-green-at-release, and surfaces regressions at the PR instead of at the next tag.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions