version: '3' tasks: clean: cmds: - rm -f borg build: cmds: - task: clean - go build -o borg main.go sources: - main.go - ./pkg/**/*.go generates: - borg run: cmds: - task: build - chmod +x borg - ./borg deps: - build test: cmds: # Workaround for Go 1.25.0 bug: "no such tool covdata" messages cause non-zero exit # Run tests and check output for actual failures (FAIL lines) vs just covdata warnings - | if output=$(go test -coverprofile=coverage.txt ./... 2>&1); then echo "$output" else # Check if it's only covdata errors (no actual FAIL messages) if echo "$output" | grep -q "^FAIL"; then echo "$output" exit 1 else # Only covdata warnings, tests actually passed echo "$output" fi fi test-e2e: cmds: - task: build - chmod +x borg - ./borg --help wasm: desc: Build STMF WASM module for browser cmds: - mkdir -p dist - GOOS=js GOARCH=wasm go build -o dist/stmf.wasm ./pkg/wasm/stmf/ - cp "$(go env GOROOT)/lib/wasm/wasm_exec.js" dist/ sources: - ./pkg/stmf/**/*.go - ./pkg/wasm/stmf/*.go generates: - dist/stmf.wasm - dist/wasm_exec.js wasm-js: desc: Build STMF WASM and JS wrapper cmds: - task: wasm - cp dist/stmf.wasm js/borg-stmf/dist/ - cp dist/wasm_exec.js js/borg-stmf/dist/ deps: - wasm