--- # https://taskfile.dev version: "3" vars: OUT_DIR: out includes: test: dir: ".." taskfile: tests.yml docker: dir: ".." taskfile: docker.yml openapi: dir: ".." taskfile: openapi-scripts.yml compose: dir: ".." taskfile: local-deployments.yml db: dir: ".." taskfile: database.yml tasks: fullsuite: vars: INCREMENTAL: "{{.INCREMENTAL | default \"true\"}}" cmds: - task: build:deps - task: fullsuite:build - task: test:functional vars: INCREMENTAL: "{{.INCREMENTAL}}" fullsuite:ci: - task: fullsuite vars: INCREMENTAL: "false" fullsuite:build: internal: true cmds: - task: build - task: lint fullsuite:graph: psrecord "task fullsuite" --plot out/fullsuite.png --interval 0.1 --include-children precommit: - task: lint deps:tidy: - go mod tidy - go mod vendor build: deps: - build:deps cmd: task: docker:build build:deps: internal: true run: once cmds: - task: deps:tidy - task: generate generate: run: once cmds: - task: db:generate - task: openapi:generate - task: test:mocks:generate - task: docs:generate - task: go:generate go:generate: go generate ./... lint: cmds: - task: db:lint - task: go:lint - task: yaml:lint - task: json:lint - task: docker:lint - task: openapi:lint - task: compose:lint go:lint: - golangci-lint run {{.CLI_ARGS}} # - govulncheck ./... yaml:lint: yamllint . -s {{.CLI_ARGS}} json:lint: jsonlint devbox.json -q -s -i {{.CLI_ARGS}} docs:generate: run: once cmds: - gomarkdoc --template-file file=docs/templates/root.gotxt ./cmd/... docs:ai:generate: desc: "Generate full system docs ($$)" cmds: - bash docs/ai.generated/prompts/regenerate_docs.sh docs/ai.generated/prompts/prompt.for.system.documentation.generation.md aws:login: aws sso login aws:textract:credentials: - | sed -i '/^AWS_REGION_TEXTRACT\|^AWS_ACCESS_KEY_ID_TEXTRACT\|^AWS_SECRET_ACCESS_KEY_TEXTRACT\|^AWS_SESSION_TOKEN_TEXTRACT/d' .env echo "AWS_REGION_TEXTRACT=$(aws configure get region --profile $AWS_PROFILE)" >> .env CREDENTIALS_JSON=$(aws configure export-credentials --profile $AWS_PROFILE) echo "AWS_ACCESS_KEY_ID_TEXTRACT=$(echo $CREDENTIALS_JSON | jq -r '.AccessKeyId')" >> .env echo "AWS_SECRET_ACCESS_KEY_TEXTRACT=$(echo $CREDENTIALS_JSON | jq -r '.SecretAccessKey')" >> .env echo "AWS_SESSION_TOKEN_TEXTRACT=$(echo $CREDENTIALS_JSON | jq -r '.SessionToken')" >> .env