version: '3' tasks: default: cmds: - task: build 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 sources: - web/src/**/* generates: - web/dist/**/* cmds: - cd web - yarn build docker: desc: Build budgeeter:latest deps: [build-prod] sources: - ./build/budgeteer{{exeExt}} cmds: - docker build -t budgeteer:latest -t hub.javil.eu/budgeteer:latest ./build run: desc: Start budgeteer deps: [build-dev] cmds: - ./build/budgeteer{{exeExt}} rundocker: desc: Start docker-compose deps: [docker] cmds: - docker-compose up -d