fix(ci): restore Windows smoke tests instead of full test suite

PR #904 incorrectly changed Windows from smoke tests to full `go test ./...`
which times out (see bd-bmev). Windows full tests take 20+ minutes vs ~1min
for smoke tests.

Restore the original approach:
- Linux/macOS: full test suite with `go test ./...`
- Windows: smoke tests only (build + basic CRUD commands)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
beads/crew/giles
2026-01-06 19:34:25 -08:00
committed by Steve Yegge
parent 6ce36ab1f3
commit 8c2810e905

View File

@@ -43,15 +43,14 @@ jobs:
fi
echo "No .beads/issues.jsonl changes detected"
# Cross-platform test matrix
# Catches platform-specific bugs like GH#880 (macOS path casing) and GH#387 (Windows daemon)
# Cross-platform test matrix (Linux/macOS only - Windows uses smoke tests)
test:
name: Test (${{ matrix.os }})
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest, macos-latest, windows-latest]
os: [ubuntu-latest, macos-latest]
include:
# Linux: full test suite with coverage
- os: ubuntu-latest
@@ -61,10 +60,6 @@ jobs:
- os: macos-latest
coverage: false
test-flags: '-v -race -short'
# Windows: full test suite, no race detector (slower on Windows)
- os: windows-latest
coverage: false
test-flags: '-v -short -timeout=30m'
steps:
- uses: actions/checkout@v6
@@ -107,6 +102,42 @@ jobs:
file: ./coverage.out
fail_ci_if_error: false
# Windows smoke tests only - full test suite times out (see bd-bmev)
# Linux/macOS run comprehensive tests; Windows just verifies binary works
test-windows:
name: Test (Windows - smoke)
runs-on: windows-latest
steps:
- uses: actions/checkout@v6
- name: Set up Go
uses: actions/setup-go@v5
with:
go-version: '1.24'
- name: Configure Git
run: |
git config --global user.name "CI Bot"
git config --global user.email "ci@beads.test"
- name: Build
run: go build -v -o bd.exe ./cmd/bd
- name: Smoke test - version
run: ./bd.exe version
- name: Smoke test - init and CRUD
run: |
./bd.exe init --quiet --prefix smoke
$output = ./bd.exe create --title "Windows smoke test" --type task
$id = ($output | Select-String -Pattern "smoke-\w+").Matches.Value
echo "Created issue: $id"
./bd.exe list
./bd.exe show $id
./bd.exe update $id --status in_progress
./bd.exe close $id
echo "All smoke tests passed!"
lint:
name: Lint
runs-on: ubuntu-latest