2025-01-10 11:12:03 +00:00
|
|
|
---
|
2024-12-19 11:38:57 +00:00
|
|
|
# https://taskfile.dev
|
|
|
|
|
|
|
|
|
|
version: '3'
|
|
|
|
|
|
|
|
|
|
vars:
|
2025-01-10 11:12:03 +00:00
|
|
|
COVERAGE_FILE: "{{.OUT_DIR}}/coverage.out"
|
2024-12-19 11:38:57 +00:00
|
|
|
|
|
|
|
|
tasks:
|
2025-01-16 18:25:30 +00:00
|
|
|
mocks:generate:
|
2025-01-10 11:12:03 +00:00
|
|
|
cmds:
|
|
|
|
|
- mockery
|
2025-01-16 18:25:30 +00:00
|
|
|
unit:nocoverage:
|
|
|
|
|
deps:
|
|
|
|
|
- mocks:generate
|
2025-01-07 16:30:45 +00:00
|
|
|
vars:
|
2025-01-10 11:12:03 +00:00
|
|
|
INTERNAL: "./internal/..."
|
|
|
|
|
API: "./api/..."
|
2025-01-15 19:45:51 +00:00
|
|
|
PKG: "./pkg/..."
|
2024-12-19 11:38:57 +00:00
|
|
|
cmds:
|
2025-01-13 17:37:20 +00:00
|
|
|
- mkdir -p {{.OUT_DIR}}
|
2025-01-10 11:12:03 +00:00
|
|
|
- |
|
2025-01-15 19:45:51 +00:00
|
|
|
go test {{.INTERNAL}} {{.API}} {{.PKG}} \
|
|
|
|
|
-coverpkg={{.INTERNAL}},{{.API}},{{.PKG}} \
|
|
|
|
|
-coverprofile={{.COVERAGE_FILE}}
|
2025-01-16 18:25:30 +00:00
|
|
|
unit:
|
2024-12-19 11:38:57 +00:00
|
|
|
deps:
|
2025-01-16 18:25:30 +00:00
|
|
|
- unit:nocoverage
|
2024-12-19 11:38:57 +00:00
|
|
|
vars:
|
2025-01-10 11:12:03 +00:00
|
|
|
TMP_FILE: "{{.OUT_DIR}}/coverage.tmp"
|
2025-01-15 19:45:51 +00:00
|
|
|
FILTER_COVERAGE_FILE: "{{.OUT_DIR}}/filtered_coverage.out"
|
2024-12-19 11:38:57 +00:00
|
|
|
cmds:
|
2025-01-15 19:45:51 +00:00
|
|
|
- grep -v ".gen.go" {{.COVERAGE_FILE}} > {{.FILTER_COVERAGE_FILE}}
|
|
|
|
|
- go tool cover -func={{.FILTER_COVERAGE_FILE}} > {{.TMP_FILE}}
|
2024-12-19 11:38:57 +00:00
|
|
|
- cat {{.TMP_FILE}}
|
|
|
|
|
- |
|
2025-01-10 11:12:03 +00:00
|
|
|
COVERAGE=$(grep total: {{.TMP_FILE}} \
|
|
|
|
|
| awk '{print $3}' | sed 's/%//' | bc)
|
2024-12-19 11:38:57 +00:00
|
|
|
echo ""
|
|
|
|
|
echo "Coverage Threshold: {{.COVERAGE_THRESHOLD}}%"
|
|
|
|
|
echo "Total Coverage: $COVERAGE%"
|
|
|
|
|
if (( $(echo "$COVERAGE < {{.COVERAGE_THRESHOLD}}" | bc -l) )); then
|
|
|
|
|
echo "Total Coverage below Coverage Threshold"
|
|
|
|
|
exit 1
|
|
|
|
|
fi
|
|
|
|
|
silent: true
|
|
|
|
|
integration:
|
|
|
|
|
cmds:
|
2025-01-16 18:25:30 +00:00
|
|
|
- task generate
|
2025-01-10 12:58:14 +00:00
|
|
|
- task docker:build
|
2025-01-07 16:30:45 +00:00
|
|
|
- task test:integration:nobuild
|
2024-12-19 11:38:57 +00:00
|
|
|
integration:nocache:
|
|
|
|
|
cmds:
|
2025-01-10 12:58:14 +00:00
|
|
|
- task docker:build
|
|
|
|
|
- go test -count=1 -v ./test/...
|
2025-01-07 16:30:45 +00:00
|
|
|
integration:nobuild:
|
|
|
|
|
cmds:
|
2025-01-10 12:58:14 +00:00
|
|
|
- go test -v ./test/...
|