64 lines
1.5 KiB
YAML
64 lines
1.5 KiB
YAML
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
|