Files
mantrae/taskfile.yaml
2025-12-14 11:05:01 +01:00

115 lines
2.4 KiB
YAML

version: "3"
output: prefixed
env:
CGO_ENABLED: 0
IMAGE_SERVER_DEV: ko.local/mantrae
IMAGE_AGENT_DEV: ko.local/mantrae-agent
IMAGE_SERVER_PROD: ghcr.io/mizuchilabs/mantrae
IMAGE_AGENT_PROD: ghcr.io/mizuchilabs/mantrae-agent
tasks:
dev:
desc: Run Go backend and Vite web concurrently
deps: [backend, web]
backend:
desc: Run Go backend
cmds:
- go run server/cmd/main.go
silent: false
web:
desc: Run frontend
cmds:
- pnpm run dev
dir: web
silent: false
agent:
desc: Run agent
cmds:
- go run agent/cmd/main.go
silent: false
docs:
desc: Run docs
cmds:
- pnpm run start
dir: docs
silent: false
# 󰉠 Lint / static checks
lint:
desc: Run go vet & lint
cmds:
- go mod tidy
- go fmt ./...
- go vet ./...
# 󰚰 Update deps
update:
desc: Update dependencies
cmds:
- go get -u ./...
- cd web && pnpm update --latest
- cd docs && pnpm update --latest
#  Generate code
gen:
desc: Generate necessary files
cmds:
- buf generate
- sqlc generate
- go run zod.go
# 🏗 Build frontend
build:web:
desc: Build Frontend
dir: web
cmds:
- pnpm install
- pnpm build
cleanup:tags:
desc: "Delete all tags older than cutoff (local + remote)"
vars:
CUTOFF: '{{.CUTOFF | default "v0.7.0"}}'
cmds:
- |
for tag in $(git tag | sort -V | awk '$1 < "{{.CUTOFF}}"'); do
echo "Deleting tag $tag"
git tag -d "$tag"
git push --delete origin "$tag"
done
snapshot:
desc: Snapshot
cmds:
- goreleaser --snapshot --clean --skip=validate
# 󱓞 Release
release:
desc: Release
deps: [build:web]
cmds:
- goreleaser release --clean --skip=validate
# 󰡨 Build container
docker:build:
desc: Build local test container with ko
deps: [build:web]
cmds:
- KO_DOCKER_REPO=$IMAGE_SERVER_DEV ko build ./server/cmd --bare
- KO_DOCKER_REPO=$IMAGE_AGENT_DEV ko build ./agent/cmd --bare
- grype $IMAGE_SERVER_DEV
- grype $IMAGE_AGENT_DEV
docker:release:
desc: Build and push container to registry
deps: [build:web]
cmds:
- KO_DOCKER_REPO=$IMAGE_SERVER_PROD ko build ./server/cmd --bare
- KO_DOCKER_REPO=$IMAGE_AGENT_PROD ko build ./agent/cmd --bare