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 deps: [gomod, sqlc, frontend] 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 frontend: desc: Build vue frontend sources: - web/src/**/* generates: - web/dist/**/* cmds: - docker run -u 1000 -it --rm -v ~/budgeteer:/src node bash -c 'cd /src/web; yarn build' docker: desc: Build budgeeter:latest deps: [build] sources: - ./build/budgeteer{{exeExt}} cmds: - docker build -t budgeteer:latest -t hub.javil.eu/budgeteer:latest ./build run: desc: Start docker-compose deps: [docker] cmds: - docker-compose up -d