Files
NixMsg/Taskfile.yml

74 lines
1.3 KiB
YAML

version: "3"
vars:
BIN_DIR: bin
BIN_NAME: nixmsg
EMBED_TAG: embeddist
EXE: '{{if eq OS "windows"}}.exe{{end}}'
includes:
'*':
taskfile: taskfiles/*.yml
optional: true
tasks:
default:
desc: 显示可用任务
cmds:
- task --list
web:install:
desc: 安装前端依赖
dir: web
cmds:
- pnpm install
web:dev:
desc: 启动前端开发服务器
dir: web
deps: [web:install]
cmds:
- pnpm dev
web:build:
desc: 构建前端静态资源到 web/dist
dir: web
deps: [web:install]
cmds:
- pnpm build
build:
desc: 构建嵌入前端的单个可执行文件
deps: [web:build]
cmds:
- go build -tags {{.EMBED_TAG}} -o {{.BIN_DIR}}/{{.BIN_NAME}}{{.EXE}} ./cmd/nixmsg
env:
CGO_ENABLED: "0"
test:
desc: 运行单元测试
cmds:
- go test ./...
lint:
desc: 运行 golangci-lint
cmds:
- golangci-lint run ./...
check:
desc: 构建、检查与单元测试
cmds:
- task: build
- task: lint
- task: test
itest:
desc: 运行集成测试(T0.5 后可用)
cmds:
- go test ./test/... -count=1
docker:
desc: 构建开发用 Docker 镜像
cmds:
- docker build -t nixmsg:dev -f deploy/Dockerfile .