fix(deps): update module github.com/go-widgets/toolkit to v0.300.0 #227
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: CI | |
| on: | |
| push: | |
| branches: [main] | |
| pull_request: | |
| branches: [main] | |
| permissions: | |
| contents: read | |
| env: | |
| GOWORK: "off" | |
| CGO_ENABLED: "0" | |
| jobs: | |
| test: | |
| name: Build + test + 100% coverage gate | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v7 | |
| - uses: actions/setup-go@v7 | |
| with: | |
| go-version: "1.27.0" | |
| check-latest: true | |
| cache: true | |
| - name: go vet | |
| run: go vet ./... | |
| - name: Test library packages with coverage | |
| run: go test -coverprofile=coverage.out $(go list ./... | grep -v '/cmd/') | |
| - name: Assert 100% statement coverage (library packages) | |
| run: | | |
| total=$(go tool cover -func=coverage.out | awk 'END { gsub(/%/,"",$3); print $3 }') | |
| echo "total coverage: ${total}%" | |
| if [ "$(printf '%.0f' "$total")" != "100" ]; then | |
| echo "::error::coverage below 100% (got ${total}%)" | |
| go tool cover -func=coverage.out | grep -v "100.0%" | |
| exit 1 | |
| fi | |
| - name: Test cmd packages (also gated at 100%) | |
| # cmd/tui-snapshot factors main() through a run(...)int seam + | |
| # runFunc/osExit dependency injection, so the whole package | |
| # holds 100% statement coverage — no reason to relax the gate | |
| # here just because it's under cmd/. | |
| run: | | |
| go test -coverprofile=coverage-cmd.out ./cmd/... | |
| total=$(go tool cover -func=coverage-cmd.out | awk 'END { gsub(/%/,"",$3); print $3 }') | |
| echo "cmd coverage: ${total}%" | |
| if [ "$(printf '%.0f' "$total")" != "100" ]; then | |
| echo "::error::cmd coverage below 100% (got ${total}%)" | |
| go tool cover -func=coverage-cmd.out | grep -v "100.0%" | |
| exit 1 | |
| fi | |
| - name: E2E pty tests (cell-level, keymap-demo) | |
| # Spawns the real keymap-demo binary under a pseudo-terminal, types | |
| # key streams, and asserts on the decoded cell grid (chords, scope | |
| # resolution, hot rebind). Gated behind the `integration` build tag so | |
| # the fast unit/coverage steps above never spawn a pty. | |
| run: go test -tags integration ./cmd/keymap-demo/ | |
| - name: Cross-compile smoke (all 6 64-bit arches + wasm + darwin) | |
| run: | | |
| for arch in amd64 arm64 riscv64 loong64 ppc64le s390x; do | |
| echo "== linux/$arch ==" | |
| GOOS=linux GOARCH=$arch go build ./... | |
| done | |
| GOOS=js GOARCH=wasm go build ./... | |
| GOOS=darwin GOARCH=arm64 go build ./... |