mirror of
https://github.com/MizuchiLabs/mantrae.git
synced 2026-02-12 09:18:48 -06:00
100 lines
2.0 KiB
YAML
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
|