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