mirror of
https://github.com/MizuchiLabs/mantrae.git
synced 2025-12-16 11:54:51 -06:00
115 lines
2.4 KiB
YAML
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
|