Skip to content

ci: add CI workflow and Makefile targets#41

Open
vanducng wants to merge 2 commits intonextlevelbuilder:mainfrom
vanducng:feat/36-ci-pipeline
Open

ci: add CI workflow and Makefile targets#41
vanducng wants to merge 2 commits intonextlevelbuilder:mainfrom
vanducng:feat/36-ci-pipeline

Conversation

@vanducng
Copy link
Contributor

@vanducng vanducng commented Mar 2, 2026

Summary

  • Add GitHub Actions CI workflow (.github/workflows/ci.yaml) with two parallel jobs:
    • Go: build + test (-race) + vet
    • Web UI: pnpm install + tsc/vite build
  • Add Makefile targets: test, vet, lint-web, setup, ci
  • Fix pre-existing data race in typing keepalive loop (caught by -race flag)

Details

  • Actions pinned to latest stable: checkout@v6, setup-go@v6, setup-node@v6, pnpm/action-setup@v4
  • Go version read from go.mod, pnpm version pinned to 10
  • permissions: contents: read for least-privilege
  • make ci mirrors GHA checks locally for pre-PR validation

Test plan

  • make ci passes locally (build + test -race + vet + lint-web)
  • CI workflow triggers on PR — both jobs pass
  • Race condition fix verified with go test -race -count=5

Closes #36

vanducng added 2 commits March 2, 2026 14:54
Add GitHub Actions CI workflow with two parallel jobs:
- Go: build, test (-race), vet
- Web UI: pnpm install, tsc + vite build

Triggered on PRs and pushes to main.

Add Makefile targets: test, vet, lint-web, setup, ci
for local pre-PR validation via `make ci`.
Capture keepaliveDone channel in local variable before select loop
to avoid racing with forceStop's nil assignment under mutex.

Detected by go test -race.
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.

ci: add tests to GitHub Actions workflow

1 participant