Files
mantrae/taskfile.yaml
d34dscene ef26e04ca1 bump
2026-02-04 22:40:48 +01:00

100 lines
2.0 KiB
YAML

version: "3"
env:
CGO_ENABLED: 0
IMAGE_SERVER_DEV: ko.local/mantrae
IMAGE_SERVER_PROD: ghcr.io/mizuchilabs/mantrae
tasks:
dev:
desc: Run Go backend and Vite web concurrently
deps: [backend, web]
backend:
desc: Run Go backend
cmds:
- go run .
web:
desc: Run frontend
cmds:
- pnpm run dev
dir: web/ui
docs:
desc: Run docs
cmds:
- pnpm run start
dir: web/docs
silent: false
# 󰉠 Lint / static checks
lint:
desc: Run go vet & lint
cmds:
- go mod tidy
- go fmt ./...
- go vet ./...
- go test -cover ./...
# 󰚰 Update deps
update:
desc: Update dependencies
cmds:
- go get -u ./...
- cd web/ui && pnpm update --latest
- cd web/docs && pnpm update --latest
#  Generate code
gen:
desc: Generate necessary files
cmds:
- buf generate
- sqlc generate
- go run ./cmd/genzod/zod.go
# 🏗 Build frontend
build:web:
desc: Build Frontend
dir: web/ui
cmds:
- pnpm install && pnpm build
cleanup:tags:
desc: "Delete all tags older than cutoff (local + remote)"
vars:
CUTOFF: '{{.CUTOFF | default "v0.8.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 ./cmd --bare
- grype $IMAGE_SERVER_DEV
docker:release:
desc: Build and push container to registry
deps: [build:web]
cmds:
- KO_DOCKER_REPO=$IMAGE_SERVER_PROD ko build ./cmd --bare