Borg/Taskfile.yml

65 lines
1.5 KiB
YAML
Raw Normal View History

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