Merged in feature/removejob (pull request #95)

Remove Job

* removejob

* rmjob

* sync

* cleanup

* precommit

* startslow

* startslow

* startslow

* openapi

* clean

* test

* scripts

* littlecleanercmds

* mermaid
This commit is contained in:
Michael McGuinness
2025-03-10 11:03:00 +00:00
parent 7d78e65d0c
commit 62886dbba8
148 changed files with 2088 additions and 3828 deletions
+33 -40
View File
@@ -8,18 +8,15 @@ vars:
OUT_DIR: out
includes:
deps:
dir: "{{.CONTEXT}}"
taskfile: dependencies.yml
test:
dir: "{{.CONTEXT}}"
taskfile: tests.yml
docker:
dir: "{{.CONTEXT}}"
dir: "."
taskfile: docker.yml
openapi:
dir: "{{.CONTEXT}}"
taskfile: openapi.yml
taskfile: openapi-scripts.yml
compose:
dir: "{{.CONTEXT}}"
taskfile: local-deployments.yml
@@ -28,75 +25,71 @@ includes:
taskfile: database.yml
tasks:
init:
cmds:
- touch .env
fullsuite:
cmds:
- task: deps:tidy
- task: generate:clean
- task: build:nogen
- task: lint:nogen
- task: test:unit:nogen
- task: test:endtoend:cmd:nocache
- task: build
- task: lint
- task: test:unit
- task: test:endtoend
precommit:
cmds:
- task: lint:short
deps:tidy:
- go mod tidy
- go mod vendor
build:
deps:
- generate
cmds:
- task: build:nogen
build:nogen:
cmds:
- task: deps:tidy
- task: generate
- task: docker:build
generate:clean:
run: once
deps:
- db:generate:clean
- openapi:generate
- test:mocks:generate
- docs:generate
cmds:
- go generate ./...
generate:
run: once
deps:
- db:generate
- openapi:generate
- test:mocks:generate
- docs:generate
cmds:
- go generate ./...
lint:
deps:
- generate
cmds:
- task: lint:nogen
lint:nogen:
cmds:
- task: go:lint
- task: db:lint
- task: yaml:lint
- task: json:lint
- task: docker:lint
- task: compose:lint
- task: openapi:lint
lint:fix:
cmds:
- task: go:lint:fix
- task: openapi:lint
- task: db:lint
- task: yaml:lint
- task: json:lint:fix
- task: docker:lint
- task: compose:lint
lint:short:
deps:
- go:lint
- yaml:lint
- json:lint
- docker:lint
- openapi:lint
- db:lint
- compose:lint:short
go:lint:
cmds:
- golangci-lint run
go:lint:fix:
cmds:
- golangci-lint run --fix
- golangci-lint run --fix {{.CLI_ARGS}}
yaml:lint:
cmds:
- yamllint . -s
- yamllint . -s {{.CLI_ARGS}}
json:lint:
cmds:
- jsonlint devbox.json -q -s
json:lint:fix:
cmds:
- jsonlint devbox.json -q -s -i
- jsonlint devbox.json -q -s -i {{.CLI_ARGS}}
docs:generate:
run: once
cmds:
- gomarkdoc --template-file file=docs/templates/root.gotxt ./cmd/...
+2 -1
View File
@@ -8,6 +8,7 @@ vars:
tasks:
generate:
run: once
deps:
- mig
cmds:
@@ -15,7 +16,7 @@ tasks:
generate:clean:
cmds:
- task compose:clean:generate
- task db:generate
- task: generate
lint:
cmds:
- task compose:up:generate
-14
View File
@@ -1,14 +0,0 @@
---
# https://taskfile.dev
version: '3'
tasks:
tidy:novendor:
cmds:
- go mod tidy
tidy:
deps:
- tidy:novendor
cmds:
- go mod vendor
+4 -3
View File
@@ -1,15 +1,16 @@
---
# https://taskfile.dev
version: '3'
version: "3"
vars:
DOCKERFILE: "build/Dockerfile"
DOCKERFILE: "{{.CONTEXT}}/build/Dockerfile"
tasks:
lint:
cmds:
- hadolint {{.DOCKERFILE}} -t none
build:
run: once
cmds:
- docker build -t {{.IMAGE_NAME}} -f {{.DOCKERFILE}} .
- docker build -t {{.IMAGE_NAME}} -f {{.DOCKERFILE}} {{.CONTEXT}}
+8 -1
View File
@@ -36,6 +36,7 @@ tasks:
vars:
COMPOSE_FILE: "{{.TEST_COMPOSE_FILE}}"
up:generate:
run: once
cmds:
- task: up:cmd
vars:
@@ -62,7 +63,7 @@ tasks:
- aws sqs create-queue --queue-name $QNAME_DOCUMENT_TEXT
- aws sqs create-queue --queue-name $QNAME_QUERY_SYNC
- aws sqs create-queue --queue-name $QNAME_QUERY_RUNNER
- aws sqs create-queue --queue-name $QNAME_JOB_SYNC
- aws sqs create-queue --queue-name $QNAME_CLIENT_SYNC
- aws sqs create-queue --queue-name $QNAME_QUERY_VERSION_SYNC
- |
aws s3api put-bucket-notification-configuration \
@@ -93,6 +94,7 @@ tasks:
- task: down:test
- docker volume rm -f deployments_test-db-data
clean:generate:
run: once
cmds:
- task: down:generate
- docker volume rm -f deployments_generate-db-data
@@ -109,3 +111,8 @@ tasks:
- |
docker compose -f {{.GENERATE_COMPOSE_FILE}} config -q \
--resolve-image-digests
lint:short:
cmds:
- docker compose -f {{.LOCAL_COMPOSE_FILE}} config -q
- docker compose -f {{.TEST_COMPOSE_FILE}} config -q
- docker compose -f {{.GENERATE_COMPOSE_FILE}} config -q
+32
View File
@@ -0,0 +1,32 @@
---
# https://taskfile.dev
version: "3"
tasks:
lint:
cmds:
- vacuum lint ./serviceAPIs/queryService.yaml -b -d -e --no-clip
generate:
- |
generateGo() {
mkdir -p $2
oapi-codegen \
-generate $4 \
-config .openapi.yml \
-package $1 \
-o $2/api.gen.go \
$3
}
for file in serviceAPIs/*.yml serviceAPIs/*.yaml; do
if [[ -f "$file" ]]; then
service=$(basename "$file")
service=${service%.*}
service_lower=${service,,}
generateGo $service_lower ./pkg/$service $file \
"models,client"
generateGo $service_lower ./api/$service $file \
"models,embedded-spec,echo-server"
fi
done
-53
View File
@@ -1,53 +0,0 @@
---
# https://taskfile.dev
version: "3"
tasks:
lint:
cmds:
- vacuum lint ./serviceAPIs/queryService.yaml -d
generate:
deps:
- generate:server
- generate:client
- generate:metrics:stubs
generate:client:
cmds:
- |
for file in serviceAPIs/*.yml serviceAPIs/*.yaml; do
if [[ -f "$file" ]]; then
service=$(basename "$file")
service=${service%.*}
service_lower=${service,,}
outputloc=./pkg/$service
mkdir -p $outputloc
oapi-codegen \
-generate "models,client" \
-config .openapi.yml \
-package $service_lower \
-o $outputloc/api.gen.go \
$file
fi
done
generate:server:
cmds:
- |
for file in serviceAPIs/*.yml serviceAPIs/*.yaml; do
if [[ -f "$file" ]]; then
service=$(basename "$file")
service=${service%.*}
service_lower=${service,,}
outputloc=./api/$service
mkdir -p $outputloc
oapi-codegen \
-generate "models,embedded-spec,echo-server" \
-config .openapi.yml \
-package $service_lower \
-o $outputloc/api.gen.go \
$file
fi
done
generate:metrics:stubs:
cmds:
- go generate ./...
+23 -29
View File
@@ -12,42 +12,42 @@ vars:
# yamllint disable-line rule:line-length
EXCLUDED_FILES: ".gen.go|internal/serviceconfig/observability/prometheus/generator/main.go"
includes:
docker:
dir: "{{.CONTEXT}}"
taskfile: docker.yml
internal: true
tasks:
mocks:generate:
run: once
cmds:
- rm -rf mocks/*
- go tool mockery
unit:
cmds:
- task: unit:nocoverage
- task: unit:getcoverage
unit:short:
deps:
- mocks:generate
cmds:
- go test -short {{.INTERNAL}} {{.API}} {{.PKG}} {{.CMD}}
unit:nogen:
cmds:
- task: unit:cmd
- task: unit:getcoverage
unit:cmd:
internal: true
vars:
SKIP_GENERATE: false
cmds:
- task: mocks:generate
- mkdir -p {{.OUT_DIR}}
- |
go test {{.INTERNAL}} {{.API}} \
-coverpkg={{.INTERNAL}},{{.API}} \
-coverprofile={{.COVERAGE_FILE}}
unit:nocoverage:
deps:
- mocks:generate
- go test {{.INTERNAL}} {{.API}} {{.CLI_ARGS}}
unit:short:
cmds:
- task: unit:cmd
unit:getcoverage:
vars:
CLI_ARGS: -short
SKIP_GENERATE: true
unit:
vars:
TMP_FILE: "{{.OUT_DIR}}/coverage.tmp"
FILTER_COVERAGE_FILE: "{{.OUT_DIR}}/filtered_coverage.out"
cmds:
- task: unit:cmd
vars:
CLI_ARGS: |
-coverpkg={{.INTERNAL}},{{.API}} \
-coverprofile={{.COVERAGE_FILE}}
- |
grep -v -E "{{.EXCLUDED_FILES}}" {{.COVERAGE_FILE}} \
> {{.FILTER_COVERAGE_FILE}}
@@ -87,13 +87,7 @@ tasks:
echo "✅ All coverage checks passed!"
silent: true
endtoend:
cmds:
- task generate
- task docker:build
- task: endtoend:cmd:nocache
endtoend:cmd:nocache:
deps:
- docker:build
cmds:
- go test -count=1 -v ./test/...
endtoend:cmd:nobuild:
cmds:
- go test -v ./test/...