103 lines
1.9 KiB
YAML
103 lines
1.9 KiB
YAML
version: '3'
|
|
|
|
vars:
|
|
IMAGE_NAME: hub.javil.eu/budgeteer
|
|
|
|
tasks:
|
|
default:
|
|
cmds:
|
|
- task: build-prod
|
|
|
|
sqlc:
|
|
desc: sqlc code generation
|
|
sources:
|
|
- ./sqlc.yaml
|
|
- ./postgres/schema/*
|
|
- ./postgres/queries/*
|
|
generates:
|
|
- ./postgres/*.sql.go
|
|
cmds:
|
|
- sqlc generate
|
|
|
|
gomod:
|
|
desc: Go modules
|
|
sources:
|
|
- ./go.mod
|
|
- ./go.sum
|
|
method: checksum
|
|
cmds:
|
|
- go mod download
|
|
|
|
build:
|
|
desc: Build budgeteer
|
|
sources:
|
|
- ./go.mod
|
|
- ./go.sum
|
|
- ./cmd/budgeteer/*.go
|
|
- ./*.go
|
|
- ./config/*.go
|
|
- ./http/*.go
|
|
- ./jwt/*.go
|
|
- ./postgres/*.go
|
|
- ./web/dist/**/*
|
|
- ./postgres/schema/*
|
|
generates:
|
|
- build/budgeteer{{exeExt}}
|
|
env:
|
|
CGO_ENABLED: '0'
|
|
cmds:
|
|
- go build -o ./build/budgeteer{{exeExt}} ./cmd/budgeteer
|
|
|
|
build-dev:
|
|
desc: Build budgeteer in dev mode
|
|
deps: [gomod, sqlc]
|
|
cmds:
|
|
- task: build
|
|
|
|
build-prod:
|
|
desc: Build budgeteer in prod mode
|
|
deps: [gomod, sqlc, frontend]
|
|
cmds:
|
|
- task: build
|
|
|
|
frontend:
|
|
desc: Build vue frontend
|
|
dir: web
|
|
sources:
|
|
- web/src/**/*
|
|
generates:
|
|
- web/dist/**/*
|
|
cmds:
|
|
- yarn
|
|
- yarn build
|
|
|
|
docker:
|
|
desc: Build budgeeter:latest
|
|
deps: [build-prod]
|
|
sources:
|
|
- ./build/budgeteer{{exeExt}}
|
|
- ./build/Dockerfile
|
|
cmds:
|
|
- docker build -t {{.IMAGE_NAME}}:latest ./build
|
|
- docker push {{.IMAGE_NAME}}:latest
|
|
|
|
dev-docker:
|
|
desc: Build budgeeter:dev
|
|
sources:
|
|
- ./docker/Dockerfile
|
|
cmds:
|
|
- docker build -t {{.IMAGE_NAME}}:dev . -f docker/Dockerfile
|
|
- docker push {{.IMAGE_NAME}}:dev
|
|
|
|
run:
|
|
desc: Start budgeteer
|
|
deps: [build-dev]
|
|
cmds:
|
|
- ./build/budgeteer{{exeExt}}
|
|
|
|
rundocker:
|
|
desc: Start docker-compose
|
|
deps: [docker]
|
|
cmds:
|
|
- docker-compose up -d
|