Skip to content

ci: add build + vet + test workflow#18

Merged
JaimeCernuda merged 4 commits into
mainfrom
ci/add-workflow
May 15, 2026
Merged

ci: add build + vet + test workflow#18
JaimeCernuda merged 4 commits into
mainfrom
ci/add-workflow

Conversation

@JaimeCernuda
Copy link
Copy Markdown
Collaborator

Closes #17. gact-tui had no CI -- nothing built or tested it on push/PR.

Adds .github/workflows/ci.yml: gofmt check, go vet ./..., go build ./..., go test ./... across the whole go.work workspace, on push to main and on PRs.

Heads-up on test state (from a local Windows run): TestCaptureVoice_* fail locally only because sh isn't on PATH -- they should pass on the Linux runner. TestSessionFilter_* and TestSSEResume_PassesLastEventIDOnReconnect also failed locally; this PR's own CI run is the first signal of whether those are real bugs or were Windows-env artifacts. If they're red on the runner, they need follow-up triage -- I'd rather land the CI and see the truth than guess.

gact-tui had no CI. Add .github/workflows/ci.yml: on push to main and
on PRs, run gofmt check, go vet, go build, and go test across the
whole go.work workspace (tui, emulator, adapters/*, conformance).

Closes #17
Run gofmt -w across all tracked .go files. The repo had no CI, so
gofmt was never enforced and ~42 files had drifted. Required for the
CI workflow's gofmt gate to pass; pure formatting, no logic changes.
Go tooling (gofmt, go vet) treats CRLF as unformatted. Without a
.gitattributes, Windows checkouts get CRLF via autocrlf and the CI
gofmt gate fails on files that are fine on Linux. Force `* text=auto
eol=lf` and mark binary assets, then renormalize.
The repo root is a go.work workspace, not a module -- `go vet ./...`
from the root fails with "directory prefix . does not contain modules
listed in go.work". Loop over the modules listed in go.work and run
vet/build/test inside each instead.
@JaimeCernuda
Copy link
Copy Markdown
Collaborator Author

CI is now structurally correct -- gofmt, vet, build, and most of the test suite pass on the Linux runner. The remaining red is 6 pre-existing test failures in tui/internal/ui that this CI surfaced for the first time (the repo had no CI before). They reproduce on Linux, so they're real bugs, not env noise.

Filed as a tracking issue. Two options:

  1. Merge this PR red, fix the 6 in a follow-up -- the CI workflow is correct and valuable now; landing it makes the failures visible to everyone instead of hidden.
  2. Fix the 6 first, then merge -- keeps main green-on-merge, but the 6 are 3+ distinct bugs (golden render, footer, session filter, SSE resume) and need real debugging.

The CI workflow + gofmt normalization + .gitattributes in this PR are sound regardless.

@JaimeCernuda JaimeCernuda merged commit 538919c into main May 15, 2026
1 check failed
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.

Add CI: build + vet + test the Go workspace

1 participant