budgeteer/Taskfile.yml
Jan Bader 8bf4fcfd42
Some checks failed
continuous-integration/drone/pr Build is failing
continuous-integration/drone/push Build is failing
Add generates to yarn
2022-04-08 20:27:49 +00:00

142 lines
2.5 KiB
YAML

version: '3'
vars:
IMAGE_NAME: hub.javil.eu/budgeteer
tasks:
default:
desc: Build budgeteer in production mode
deps: [frontend, go-mod, go-sqlc]
cmds:
- task: backend
run:
desc: Start budgeteer
deps: [backend, go-mod, go-sqlc]
cmds:
- ./build/budgeteer{{exeExt}}
dev:
desc: Build budgeteer in dev mode (without frontend)
deps: [go-mod, go-sqlc]
cmds:
- task: backend
ci:
desc: Run CI build
deps: [default, static]
static:
deps: [go-lint, go-vet, go-fmt, js-tsc, js-lint, cover]
backend:
desc: Build budgeteer
sources:
- ./go.mod
- ./go.sum
- ./**/*.go
- ./web/dist/**/*
- ./postgres/schema/*
generates:
- build/budgeteer{{exeExt}}
env:
CGO_ENABLED: '0'
cmds:
- go build -o ./build/budgeteer{{exeExt}} ./cmd/budgeteer
go-vet:
cmds:
- go vet
go-fmt:
cmds:
- go fmt
go-lint:
deps: [frontend]
cmds:
- golangci-lint run
go-sqlc:
desc: sqlc code generation
sources:
- ./sqlc.yaml
- ./postgres/schema/*
- ./postgres/queries/*
generates:
- ./postgres/*.sql.go
cmds:
- sqlc generate
go-mod:
desc: Go modules
sources:
- ./go.mod
- ./go.sum
method: checksum
cmds:
- go mod download
cover:
desc: Run test and analyze coverage
cmds:
- go test ./... -coverprofile=coverage.out -covermode=atomic
- go tool cover -html=coverage.out -o=coverage.html
frontend:
desc: Build vue frontend
deps: [js-build]
sources:
- web/src/**/*
generates:
- web/dist/**/*
frontend-dev:
desc: Run dev-server for frontend
dir: web
cmds:
- yarn run dev
js-build:
dir: web
deps: [js-mod]
cmds:
- yarn build
js-mod:
sources:
- web/src/package.json
- web/src/yarn.lock
generates:
- web/node_modules/**/*
dir: web
cmds:
- yarn
js-tsc:
dir: web
deps: [js-mod]
cmds:
- yarn run vue-tsc --noEmit
js-lint:
dir: web
deps: [js-mod]
cmds:
- yarn run eslint "./src/**"
dev-docker:
desc: Build budgeeter:dev
sources:
- ./docker/Dockerfile.dev
- ./web/package.json
- ./web/yarn.lock
cmds:
- docker build -t {{.IMAGE_NAME}}:dev . -f docker/Dockerfile.dev
- docker push {{.IMAGE_NAME}}:dev
run-dev:
desc: Run dev environment in docker
deps: [dev-docker]
cmds:
- docker-compose -f docker/docker-compose.dev.yml -p budgeteer up -d