84 lines
2.6 KiB
YAML
84 lines
2.6 KiB
YAML
version: "3"
|
||
|
||
vars:
|
||
IMAGE: git.asio.asia/nixevol/nixmsg
|
||
IMAGE_TAG: "0.1.0"
|
||
BIN_DIR: bin
|
||
|
||
tasks:
|
||
q:accept:
|
||
desc: 跑 Q2 验收集成测试并写入 F01–F23 对照表
|
||
cmds:
|
||
- go test ./test/accept/ -count=1 -v
|
||
env:
|
||
NIXMSG_WRITE_ACCEPT_REPORT: "1"
|
||
|
||
q:q3:
|
||
desc: Q3 弱网(toxiproxy)、崩溃续传、短时压测
|
||
cmds:
|
||
- go test ./test/chaos/ ./test/load/ -count=1 -v -timeout 15m
|
||
|
||
q:chaos-test:
|
||
desc: 运行混沌辅助与 Q3 弱网/崩溃测试
|
||
cmds:
|
||
- go test ./test/chaos/ -count=1 -v -timeout 10m
|
||
|
||
q:load-test:
|
||
desc: 压测骨架与短时真实收发
|
||
cmds:
|
||
- go test ./test/load/ -count=1 -v -timeout 10m
|
||
|
||
q:report:
|
||
desc: 从结果 JSON 生成 F01–F23 验收对照表(默认空样例)
|
||
cmds:
|
||
- go run ./test/report/cmd/genreport {{.CLI_ARGS}}
|
||
|
||
q:report-sample:
|
||
desc: 用空结果样例生成对照表到 stdout
|
||
cmds:
|
||
- go run ./test/report/cmd/genreport ./test/report/testdata/sample_results.json
|
||
|
||
q:report-q2:
|
||
desc: 用 Q2 验收结果生成对照表到 stdout
|
||
cmds:
|
||
- go run ./test/report/cmd/genreport ./test/report/testdata/q2_results.json
|
||
|
||
q:docker-build:
|
||
desc: 构建当前架构镜像(不推送)
|
||
cmds:
|
||
- docker build -t {{.IMAGE}}:{{.IMAGE_TAG}} -t {{.IMAGE}}:latest -f deploy/Dockerfile .
|
||
|
||
q:docker-push:
|
||
desc: 构建并推送当前架构镜像到 git.asio.asia/nixevol/nixmsg(正式推送在 Z3)
|
||
cmds:
|
||
- task: q:docker-build
|
||
- docker push {{.IMAGE}}:{{.IMAGE_TAG}}
|
||
- docker push {{.IMAGE}}:latest
|
||
|
||
q:docker-buildx:
|
||
desc: 多架构 buildx 构建并推送 linux/amd64+arm64(需 QEMU;正式推送在 Z3)
|
||
cmds:
|
||
- docker buildx build --platform linux/amd64,linux/arm64 -t {{.IMAGE}}:{{.IMAGE_TAG}} -t {{.IMAGE}}:latest -f deploy/Dockerfile --push .
|
||
|
||
q:release-bins:
|
||
desc: 交叉编译三平台二进制到 bin/(CGO_ENABLED=0,不提交)
|
||
deps: [web:build]
|
||
cmds:
|
||
- |
|
||
{{if eq OS "windows"}}powershell -NoProfile -Command "New-Item -ItemType Directory -Force -Path '{{.BIN_DIR}}' | Out-Null"{{else}}mkdir -p {{.BIN_DIR}}{{end}}
|
||
- cmd: go build -tags embeddist -o {{.BIN_DIR}}/nixmsg-linux-amd64 ./cmd/nixmsg
|
||
env:
|
||
CGO_ENABLED: "0"
|
||
GOOS: linux
|
||
GOARCH: amd64
|
||
- cmd: go build -tags embeddist -o {{.BIN_DIR}}/nixmsg-linux-arm64 ./cmd/nixmsg
|
||
env:
|
||
CGO_ENABLED: "0"
|
||
GOOS: linux
|
||
GOARCH: arm64
|
||
- cmd: go build -tags embeddist -o {{.BIN_DIR}}/nixmsg-windows-amd64.exe ./cmd/nixmsg
|
||
env:
|
||
CGO_ENABLED: "0"
|
||
GOOS: windows
|
||
GOARCH: amd64
|