--- # https://taskfile.dev version: "3" vars: CONTEXT: .. OUT_DIR: out includes: test: dir: "{{.CONTEXT}}" taskfile: tests.yml docker: dir: "." taskfile: docker.yml openapi: dir: "{{.CONTEXT}}" taskfile: openapi-scripts.yml compose: dir: "{{.CONTEXT}}" taskfile: local-deployments.yml db: dir: "{{.CONTEXT}}" taskfile: database.yml tasks: fullsuite: - task: build - task: lint - task: test:all precommit: - task: lint:short deps:tidy: - go mod tidy - go mod vendor - go mod verify build: - 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: go:lint - task: yaml:lint - task: json:lint - task: docker:lint - task: openapi:lint - task: db:lint - task: compose:lint lint:short: deps: - go:lint - yaml:lint - json:lint - docker:lint - openapi:lint - compose:lint:short go:lint: golangci-lint run --fix {{.CLI_ARGS}} 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/... 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