lf
This commit is contained in:
+70
-70
@@ -1,71 +1,71 @@
|
||||
# https://taskfile.dev
|
||||
|
||||
version: '3'
|
||||
|
||||
includes:
|
||||
deps:
|
||||
taskfile: dependencies.yml
|
||||
test:
|
||||
taskfile: tests.yml
|
||||
docker:
|
||||
taskfile: docker.yml
|
||||
proto:
|
||||
taskfile: proto.yml
|
||||
compose:
|
||||
taskfile: compose.yml
|
||||
db:
|
||||
taskfile: database.yml
|
||||
|
||||
vars:
|
||||
CONTEXT: ..
|
||||
OUT_DIR: out
|
||||
OUT_FILE: "{{.OUT_DIR}}/main_grpc"
|
||||
|
||||
tasks:
|
||||
generate:
|
||||
deps:
|
||||
- db:generate
|
||||
- proto:generate
|
||||
dev:
|
||||
deps:
|
||||
- generate
|
||||
cmds:
|
||||
- go run {{.PROJECT_MAIN}}
|
||||
build:
|
||||
deps:
|
||||
- generate
|
||||
cmds:
|
||||
- go build -o {{.OUT_FILE}} {{.PROJECT_MAIN}}
|
||||
start:
|
||||
deps:
|
||||
- build
|
||||
cmds:
|
||||
- ./{{.OUT_FILE}}
|
||||
lint:
|
||||
cmds:
|
||||
- task proto:lint
|
||||
- task code:lint
|
||||
- task db:lint
|
||||
- task yaml:lint
|
||||
- task docker:lint
|
||||
- task compose:lint
|
||||
- task shell:lint
|
||||
lint:fix:
|
||||
cmds:
|
||||
- task proto:lint:fix
|
||||
- task code:lint:fix
|
||||
code:lint:
|
||||
cmds:
|
||||
- golangci-lint run
|
||||
code:lint:fix:
|
||||
cmds:
|
||||
- gofmt -w .
|
||||
yaml:lint:
|
||||
cmds:
|
||||
- yamllint . -s
|
||||
shell:lint:
|
||||
cmds:
|
||||
- shellcheck --shell=sh scripts/install-deps.sh
|
||||
docs:
|
||||
cmds:
|
||||
# https://taskfile.dev
|
||||
|
||||
version: '3'
|
||||
|
||||
includes:
|
||||
deps:
|
||||
taskfile: dependencies.yml
|
||||
test:
|
||||
taskfile: tests.yml
|
||||
docker:
|
||||
taskfile: docker.yml
|
||||
proto:
|
||||
taskfile: proto.yml
|
||||
compose:
|
||||
taskfile: compose.yml
|
||||
db:
|
||||
taskfile: database.yml
|
||||
|
||||
vars:
|
||||
CONTEXT: ..
|
||||
OUT_DIR: out
|
||||
OUT_FILE: "{{.OUT_DIR}}/main_grpc"
|
||||
|
||||
tasks:
|
||||
generate:
|
||||
deps:
|
||||
- db:generate
|
||||
- proto:generate
|
||||
dev:
|
||||
deps:
|
||||
- generate
|
||||
cmds:
|
||||
- go run {{.PROJECT_MAIN}}
|
||||
build:
|
||||
deps:
|
||||
- generate
|
||||
cmds:
|
||||
- go build -o {{.OUT_FILE}} {{.PROJECT_MAIN}}
|
||||
start:
|
||||
deps:
|
||||
- build
|
||||
cmds:
|
||||
- ./{{.OUT_FILE}}
|
||||
lint:
|
||||
cmds:
|
||||
- task proto:lint
|
||||
- task code:lint
|
||||
- task db:lint
|
||||
- task yaml:lint
|
||||
- task docker:lint
|
||||
- task compose:lint
|
||||
- task shell:lint
|
||||
lint:fix:
|
||||
cmds:
|
||||
- task proto:lint:fix
|
||||
- task code:lint:fix
|
||||
code:lint:
|
||||
cmds:
|
||||
- golangci-lint run
|
||||
code:lint:fix:
|
||||
cmds:
|
||||
- gofmt -w .
|
||||
yaml:lint:
|
||||
cmds:
|
||||
- yamllint . -s
|
||||
shell:lint:
|
||||
cmds:
|
||||
- shellcheck --shell=sh scripts/install-deps.sh
|
||||
docs:
|
||||
cmds:
|
||||
- godoc -http=:6060
|
||||
+16
-16
@@ -1,17 +1,17 @@
|
||||
# https://taskfile.dev
|
||||
|
||||
version: '3'
|
||||
|
||||
vars:
|
||||
COMPOSE_FILE_WITH_CONTEXT: "{{.CONTEXT}}/{{.COMPOSE_FILE}}"
|
||||
|
||||
tasks:
|
||||
build:
|
||||
cmds:
|
||||
- docker compose -f {{.COMPOSE_FILE_WITH_CONTEXT}} build
|
||||
up:
|
||||
cmds:
|
||||
- docker compose -f {{.COMPOSE_FILE_WITH_CONTEXT}} up
|
||||
lint:
|
||||
cmds:
|
||||
# https://taskfile.dev
|
||||
|
||||
version: '3'
|
||||
|
||||
vars:
|
||||
COMPOSE_FILE_WITH_CONTEXT: "{{.CONTEXT}}/{{.COMPOSE_FILE}}"
|
||||
|
||||
tasks:
|
||||
build:
|
||||
cmds:
|
||||
- docker compose -f {{.COMPOSE_FILE_WITH_CONTEXT}} build
|
||||
up:
|
||||
cmds:
|
||||
- docker compose -f {{.COMPOSE_FILE_WITH_CONTEXT}} up
|
||||
lint:
|
||||
cmds:
|
||||
- docker compose -f {{.COMPOSE_FILE_WITH_CONTEXT}} config
|
||||
+23
-23
@@ -1,24 +1,24 @@
|
||||
# https://taskfile.dev
|
||||
|
||||
version: '3'
|
||||
|
||||
tasks:
|
||||
install:
|
||||
cmds:
|
||||
- go install golang.org/x/tools/cmd/godoc@latest
|
||||
- go install github.com/golangci/golangci-lint/cmd/golangci-lint@latest
|
||||
- go install github.com/yoheimuta/protolint/cmd/protolint@latest
|
||||
- go install google.golang.org/protobuf/cmd/protoc-gen-go@latest
|
||||
- go install google.golang.org/grpc/cmd/protoc-gen-go-grpc@latest
|
||||
- go install github.com/zabio3/godolint@latest
|
||||
- go install github.com/wasilibs/go-yamllint/cmd/yamllint@latest
|
||||
- go install github.com/sqlc-dev/sqlc/cmd/sqlc@latest
|
||||
- go install -tags 'postgres' github.com/golang-migrate/migrate/v4/cmd/migrate@latest
|
||||
- go install github.com/vektra/mockery/v2@latest
|
||||
- curl -sfL https://direnv.net/install.sh | bash
|
||||
- direnv allow
|
||||
- go mod download
|
||||
tidy:
|
||||
cmds:
|
||||
- go mod tidy
|
||||
# https://taskfile.dev
|
||||
|
||||
version: '3'
|
||||
|
||||
tasks:
|
||||
install:
|
||||
cmds:
|
||||
- go install golang.org/x/tools/cmd/godoc@latest
|
||||
- go install github.com/golangci/golangci-lint/cmd/golangci-lint@latest
|
||||
- go install github.com/yoheimuta/protolint/cmd/protolint@latest
|
||||
- go install google.golang.org/protobuf/cmd/protoc-gen-go@latest
|
||||
- go install google.golang.org/grpc/cmd/protoc-gen-go-grpc@latest
|
||||
- go install github.com/zabio3/godolint@latest
|
||||
- go install github.com/wasilibs/go-yamllint/cmd/yamllint@latest
|
||||
- go install github.com/sqlc-dev/sqlc/cmd/sqlc@latest
|
||||
- go install -tags 'postgres' github.com/golang-migrate/migrate/v4/cmd/migrate@latest
|
||||
- go install github.com/vektra/mockery/v2@latest
|
||||
- curl -sfL https://direnv.net/install.sh | bash
|
||||
- direnv allow
|
||||
- go mod download
|
||||
tidy:
|
||||
cmds:
|
||||
- go mod tidy
|
||||
- go mod vendor
|
||||
+15
-15
@@ -1,16 +1,16 @@
|
||||
# https://taskfile.dev
|
||||
|
||||
version: '3'
|
||||
|
||||
vars:
|
||||
DOCKERFILE_DIR_WITH_CONTEXT: "{{.CONTEXT}}/{{.DOCKERFILE_DIR}}"
|
||||
|
||||
tasks:
|
||||
lint:
|
||||
cmds:
|
||||
- godolint {{.DOCKERFILE_DIR_WITH_CONTEXT}}/grpc/Dockerfile
|
||||
- godolint {{.DOCKERFILE_DIR_WITH_CONTEXT}}/queue/Dockerfile
|
||||
build:
|
||||
cmds:
|
||||
- docker build -t {{.IMAGE_NAME}}_grpc -f {{.DOCKERFILE_DIR_WITH_CONTEXT}}/grpc/Dockerfile {{.CONTEXT}}
|
||||
# https://taskfile.dev
|
||||
|
||||
version: '3'
|
||||
|
||||
vars:
|
||||
DOCKERFILE_DIR_WITH_CONTEXT: "{{.CONTEXT}}/{{.DOCKERFILE_DIR}}"
|
||||
|
||||
tasks:
|
||||
lint:
|
||||
cmds:
|
||||
- godolint {{.DOCKERFILE_DIR_WITH_CONTEXT}}/grpc/Dockerfile
|
||||
- godolint {{.DOCKERFILE_DIR_WITH_CONTEXT}}/queue/Dockerfile
|
||||
build:
|
||||
cmds:
|
||||
- docker build -t {{.IMAGE_NAME}}_grpc -f {{.DOCKERFILE_DIR_WITH_CONTEXT}}/grpc/Dockerfile {{.CONTEXT}}
|
||||
- docker build -t {{.IMAGE_NAME}}_queue -f {{.DOCKERFILE_DIR_WITH_CONTEXT}}/queue/Dockerfile {{.CONTEXT}}
|
||||
@@ -1,7 +1,7 @@
|
||||
#!/bin/sh
|
||||
|
||||
# Install Taskfile
|
||||
sh -c "$(curl --location https://taskfile.dev/install.sh)" -- -d -b ~/.local/binintegration
|
||||
|
||||
# Install dependencies
|
||||
#!/bin/sh
|
||||
|
||||
# Install Taskfile
|
||||
sh -c "$(curl --location https://taskfile.dev/install.sh)" -- -d -b ~/.local/binintegration
|
||||
|
||||
# Install dependencies
|
||||
task deps:install
|
||||
+16
-16
@@ -1,17 +1,17 @@
|
||||
# https://taskfile.dev
|
||||
|
||||
version: '3'
|
||||
|
||||
vars:
|
||||
PROTO_DIR_WITH_CONTEXT: "{{.CONTEXT}}/{{.PROTOBUF_DIR}}"
|
||||
|
||||
tasks:
|
||||
lint:
|
||||
cmds:
|
||||
- protolint lint {{.PROTO_DIR_WITH_CONTEXT}}
|
||||
lint:fix:
|
||||
cmds:
|
||||
- protolint lint -fix {{.PROTO_DIR_WITH_CONTEXT}}
|
||||
generate:
|
||||
cmds:
|
||||
# https://taskfile.dev
|
||||
|
||||
version: '3'
|
||||
|
||||
vars:
|
||||
PROTO_DIR_WITH_CONTEXT: "{{.CONTEXT}}/{{.PROTOBUF_DIR}}"
|
||||
|
||||
tasks:
|
||||
lint:
|
||||
cmds:
|
||||
- protolint lint {{.PROTO_DIR_WITH_CONTEXT}}
|
||||
lint:fix:
|
||||
cmds:
|
||||
- protolint lint -fix {{.PROTO_DIR_WITH_CONTEXT}}
|
||||
generate:
|
||||
cmds:
|
||||
- protoc --proto_path={{.PROTO_DIR_WITH_CONTEXT}} --go_out={{.CONTEXT}}/{{.API_GRPC_DIR}}/spec --go-grpc_out={{.CONTEXT}}/{{.API_GRPC_DIR}} --go_opt=paths=source_relative main.proto
|
||||
+45
-45
@@ -1,46 +1,46 @@
|
||||
# https://taskfile.dev
|
||||
|
||||
version: '3'
|
||||
|
||||
includes:
|
||||
docker:
|
||||
taskfile: docker.yml
|
||||
internal: true
|
||||
|
||||
vars:
|
||||
COVERAGE_FILE_WITH_CONTEXT: "{{.CONTEXT}}/{{.OUT_DIR}}/{{.COVERAGE_FILE}}"
|
||||
|
||||
tasks:
|
||||
unit:
|
||||
cmds:
|
||||
- mkdir -p {{.CONTEXT}}/{{.OUT_DIR}}
|
||||
- go test {{.CONTEXT}}/test/unit/... -coverpkg={{.CONTEXT}}/internal/...,{{.CONTEXT}}/pkg/... -coverprofile={{.COVERAGE_FILE_WITH_CONTEXT}}
|
||||
unit:coverage:
|
||||
deps:
|
||||
- unit
|
||||
vars:
|
||||
TMP_FILE: "{{.CONTEXT}}/{{.OUT_DIR}}/coverage.tmp"
|
||||
cmds:
|
||||
- go tool cover -func={{.COVERAGE_FILE_WITH_CONTEXT}} > {{.TMP_FILE}}
|
||||
- cat {{.TMP_FILE}}
|
||||
- |
|
||||
COVERAGE=$(grep total: {{.TMP_FILE}} | awk '{print $3}' | sed 's/%//' | bc)
|
||||
echo ""
|
||||
echo "Coverage Threshold: {{.COVERAGE_THRESHOLD}}%"
|
||||
echo "Total Coverage: $COVERAGE%"
|
||||
if (( $(echo "$COVERAGE < {{.COVERAGE_THRESHOLD}}" | bc -l) )); then
|
||||
echo "Total Coverage below Coverage Threshold"
|
||||
exit 1
|
||||
fi
|
||||
silent: true
|
||||
integration:
|
||||
cmds:
|
||||
- go test -v {{.CONTEXT}}/test/integration/...
|
||||
integration:nocache:
|
||||
cmds:
|
||||
- go test -count=1 -v {{.CONTEXT}}/test/integration/...
|
||||
integration:build:
|
||||
deps:
|
||||
- docker:build
|
||||
cmds:
|
||||
# https://taskfile.dev
|
||||
|
||||
version: '3'
|
||||
|
||||
includes:
|
||||
docker:
|
||||
taskfile: docker.yml
|
||||
internal: true
|
||||
|
||||
vars:
|
||||
COVERAGE_FILE_WITH_CONTEXT: "{{.CONTEXT}}/{{.OUT_DIR}}/{{.COVERAGE_FILE}}"
|
||||
|
||||
tasks:
|
||||
unit:
|
||||
cmds:
|
||||
- mkdir -p {{.CONTEXT}}/{{.OUT_DIR}}
|
||||
- go test {{.CONTEXT}}/test/unit/... -coverpkg={{.CONTEXT}}/internal/...,{{.CONTEXT}}/pkg/... -coverprofile={{.COVERAGE_FILE_WITH_CONTEXT}}
|
||||
unit:coverage:
|
||||
deps:
|
||||
- unit
|
||||
vars:
|
||||
TMP_FILE: "{{.CONTEXT}}/{{.OUT_DIR}}/coverage.tmp"
|
||||
cmds:
|
||||
- go tool cover -func={{.COVERAGE_FILE_WITH_CONTEXT}} > {{.TMP_FILE}}
|
||||
- cat {{.TMP_FILE}}
|
||||
- |
|
||||
COVERAGE=$(grep total: {{.TMP_FILE}} | awk '{print $3}' | sed 's/%//' | bc)
|
||||
echo ""
|
||||
echo "Coverage Threshold: {{.COVERAGE_THRESHOLD}}%"
|
||||
echo "Total Coverage: $COVERAGE%"
|
||||
if (( $(echo "$COVERAGE < {{.COVERAGE_THRESHOLD}}" | bc -l) )); then
|
||||
echo "Total Coverage below Coverage Threshold"
|
||||
exit 1
|
||||
fi
|
||||
silent: true
|
||||
integration:
|
||||
cmds:
|
||||
- go test -v {{.CONTEXT}}/test/integration/...
|
||||
integration:nocache:
|
||||
cmds:
|
||||
- go test -count=1 -v {{.CONTEXT}}/test/integration/...
|
||||
integration:build:
|
||||
deps:
|
||||
- docker:build
|
||||
cmds:
|
||||
- task test:integration
|
||||
Reference in New Issue
Block a user