Improve dev container and taskfile
This commit is contained in:
137
Taskfile.yml
137
Taskfile.yml
@ -5,31 +5,32 @@ vars:
|
||||
|
||||
tasks:
|
||||
default:
|
||||
desc: Build budgeteer in production mode
|
||||
deps: [frontend, cover]
|
||||
cmds:
|
||||
- task: build-prod
|
||||
- task: backend
|
||||
- task: cover
|
||||
|
||||
sqlc:
|
||||
desc: sqlc code generation
|
||||
sources:
|
||||
- ./sqlc.yaml
|
||||
- ./postgres/schema/*
|
||||
- ./postgres/queries/*
|
||||
generates:
|
||||
- ./postgres/*.sql.go
|
||||
run:
|
||||
desc: Start budgeteer
|
||||
deps: [backend]
|
||||
cmds:
|
||||
- sqlc generate
|
||||
- ./build/budgeteer{{exeExt}}
|
||||
|
||||
gomod:
|
||||
desc: Go modules
|
||||
sources:
|
||||
- ./go.mod
|
||||
- ./go.sum
|
||||
method: checksum
|
||||
dev:
|
||||
desc: Build budgeteer in dev mode (without frontend)
|
||||
cmds:
|
||||
- go mod download
|
||||
- task: backend
|
||||
|
||||
build:
|
||||
ci:
|
||||
desc: Run CI build
|
||||
deps: [go-lint, go-vet, go-fmt, js-tsc, js-lint]
|
||||
cmds:
|
||||
- task: default
|
||||
|
||||
backend:
|
||||
desc: Build budgeteer
|
||||
deps: [go-mod, go-sqlc]
|
||||
sources:
|
||||
- ./go.mod
|
||||
- ./go.sum
|
||||
@ -43,29 +44,37 @@ tasks:
|
||||
cmds:
|
||||
- go build -o ./build/budgeteer{{exeExt}} ./cmd/budgeteer
|
||||
|
||||
build-dev:
|
||||
desc: Build budgeteer in dev mode
|
||||
deps: [gomod, sqlc]
|
||||
go-vet:
|
||||
cmds:
|
||||
- go vet
|
||||
- go fmt
|
||||
- golangci-lint run
|
||||
- task: build
|
||||
|
||||
build-prod:
|
||||
desc: Build budgeteer in prod mode
|
||||
deps: [gomod, sqlc, frontend]
|
||||
go-fmt:
|
||||
cmds:
|
||||
- go vet
|
||||
- go fmt
|
||||
- golangci-lint run
|
||||
- task: build
|
||||
|
||||
ci:
|
||||
desc: Run CI build
|
||||
go-lint:
|
||||
cmds:
|
||||
- task: build-prod
|
||||
- task: cover
|
||||
- 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
|
||||
@ -75,26 +84,40 @@ tasks:
|
||||
|
||||
frontend:
|
||||
desc: Build vue frontend
|
||||
dir: web
|
||||
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:
|
||||
dir: web
|
||||
cmds:
|
||||
- yarn
|
||||
- yarn build
|
||||
- yarn run vue-tsc --noEmit
|
||||
- yarn run eslint "./src/**"
|
||||
|
||||
docker:
|
||||
desc: Build budgeeter:latest
|
||||
deps: [build-prod]
|
||||
sources:
|
||||
- ./build/budgeteer{{exeExt}}
|
||||
- ./build/Dockerfile
|
||||
|
||||
js-tsc:
|
||||
dir: web
|
||||
deps: [js-mod]
|
||||
cmds:
|
||||
- docker build -t {{.IMAGE_NAME}}:latest ./build
|
||||
- docker push {{.IMAGE_NAME}}:latest
|
||||
- yarn run vue-tsc --noEmit
|
||||
|
||||
js-lint:
|
||||
dir: web
|
||||
deps: [js-mod]
|
||||
cmds:
|
||||
- yarn run eslint "./src/**"
|
||||
|
||||
dev-docker:
|
||||
desc: Build budgeeter:dev
|
||||
@ -103,17 +126,11 @@ tasks:
|
||||
- ./web/package.json
|
||||
- ./web/yarn.lock
|
||||
cmds:
|
||||
- docker build -t {{.IMAGE_NAME}}:dev . -f docker/Dockerfile.dev
|
||||
- docker push {{.IMAGE_NAME}}:dev
|
||||
|
||||
run:
|
||||
desc: Start budgeteer
|
||||
deps: [build-dev]
|
||||
- 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:
|
||||
- ./build/budgeteer{{exeExt}}
|
||||
|
||||
rundocker:
|
||||
desc: Start docker-compose
|
||||
deps: [docker]
|
||||
cmds:
|
||||
- docker-compose up -d
|
||||
- docker-compose -f docker/docker-compose.dev.yml -p budgeteer up -d
|
Reference in New Issue
Block a user