Authentik owns invites now (infra ADR-0001). Delete adapters/dex, the /invite set-password UI, the tapir invite CLI, the InvitationStore/ DexPasswordCreator ports + App wiring, the invite Templ pages, and the invite Taskfile target. New users are invited via Authentik, log in via OIDC, and hit the existing /register gate. invitations table (mig 009) left in place (append-only; harmless). task check green. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
59 lines
1.6 KiB
YAML
59 lines
1.6 KiB
YAML
version: "3"
|
|
|
|
# Quality gate for Tapir. `task check` is THE gate referenced by ADR-009 and the
|
|
# CI workflow. Run it before every push (TBD: commit directly to main).
|
|
|
|
tasks:
|
|
default:
|
|
cmds:
|
|
- task: check
|
|
|
|
check:
|
|
desc: Full quality gate — fmt check, vet, lint, test.
|
|
cmds:
|
|
- task: fmt-check
|
|
- task: vet
|
|
- task: lint
|
|
- task: test
|
|
|
|
fmt:
|
|
desc: Format all Go code.
|
|
cmds:
|
|
- gofmt -w .
|
|
|
|
fmt-check:
|
|
desc: Fail if any file is not gofmt-clean.
|
|
cmds:
|
|
- "test -z \"$(gofmt -l .)\" || { echo 'gofmt: files need formatting:'; gofmt -l .; exit 1; }"
|
|
|
|
vet:
|
|
desc: go vet.
|
|
cmds:
|
|
- go vet ./...
|
|
|
|
lint:
|
|
desc: golangci-lint (installed by CI; skipped locally if absent).
|
|
cmds:
|
|
- 'command -v golangci-lint >/dev/null 2>&1 && golangci-lint run ./... || echo "golangci-lint not installed — skipping (CI installs it)"'
|
|
|
|
test:
|
|
desc: Run all tests. -p 1 serializes packages so the embedded-postgres tests
|
|
(store, web, oidc) don't race on the shared ~/.embedded-postgres-go data dir.
|
|
cmds:
|
|
- go test -p 1 ./...
|
|
|
|
generate:
|
|
desc: Regenerate Templ components (*_templ.go) from *.templ sources.
|
|
cmds:
|
|
- 'command -v templ >/dev/null 2>&1 && templ generate || go run github.com/a-h/templ/cmd/templ@latest generate'
|
|
|
|
build:
|
|
desc: Compile the binary.
|
|
cmds:
|
|
- go build -o bin/tapir ./cmd/tapir
|
|
|
|
skills:
|
|
desc: Wire the engineering skills library into this repo (symlinks, gitignored).
|
|
cmds:
|
|
- curl -fsSL https://gitea.d-ma.be/mathias/skills/raw/branch/main/install.sh | bash
|