update readme and taskfile

This commit is contained in:
juancwu 2026-04-25 18:58:23 +00:00
commit efa86a6e22
2 changed files with 60 additions and 3 deletions

View file

@ -60,3 +60,23 @@ if errors.As(err, &e) {
log.Printf("op=%s", e.Op)
}
```
## Development
This repo uses [Task](https://taskfile.dev) as its task runner. After cloning:
```bash
task install:tools # installs github.com/mfridman/tparse
task # vet + tests
```
Common targets:
| Task | What it does |
| ----------------- | ------------------------------------- |
| `task` | `vet` + `test` (the default) |
| `task test` | `go test ./...` piped through tparse |
| `task test:race` | tests under the race detector |
| `task vet` | `go vet ./...` |
| `task fmt` | `gofmt -w .` |
| `task tidy` | `go mod tidy` |

View file

@ -1,6 +1,43 @@
version: '3'
tasks:
test:
desc: Run tests
default:
desc: Run vet and tests
cmds:
- set -o pipefail && go test fmt -json | tparse -all
- task: check
install:tools:
desc: Install development tools (tparse for prettier test output)
cmds:
- go install github.com/mfridman/tparse@latest
test:
desc: Run tests with prettier output via tparse
cmds:
- set -o pipefail && go test ./... -json -cover | tparse -all
test:race:
desc: Run tests under the race detector
cmds:
- set -o pipefail && go test ./... -race -json | tparse -all
vet:
desc: Run go vet
cmds:
- go vet ./...
fmt:
desc: Format Go source files
cmds:
- gofmt -w .
tidy:
desc: Tidy go.mod
cmds:
- go mod tidy
check:
desc: Run vet and tests
cmds:
- task: vet
- task: test