[tools] go = "1.24" shellcheck = "0.10.0" [tasks.build] description = "Build the auth proxy binary" run = "go build -o bin/google-auth-proxy ./cmd/google-auth-proxy" [tasks.test] description = "Run Go unit tests" run = "go test ./..." [tasks.vet] description = "Run go vet" run = "go vet ./..." [tasks.fmt] description = "Format Go code" run = "gofmt -w ." [tasks.fmt-check] description = "Fail if any Go file is unformatted" run = 'test -z "$(gofmt -l .)" || (gofmt -l . && exit 1)' [tasks.shellcheck] description = "Lint all plugin shell scripts" run = "shellcheck -x functions commands install nginx-pre-reload core-post-deploy post-delete post-app-rename post-app-clone subcommands/* test/*.sh" [tasks.test-nginx-conf] description = "Generate an nginx config from a fake app and validate it with real nginx (docker)" run = "test/nginx-conf-test.sh" [tasks.test-access-lists] description = "Exercise the allow/deny list commands against a fake dokku layout" run = "test/access-list-test.sh" [tasks.test-help] description = "Check the help output shapes and that every subcommand is documented" run = "test/help-test.sh" [tasks.docker-build] description = "Build the auth service docker image" run = "docker build -t dokku-google-auth:latest ." [tasks.check] description = "Run everything CI would run" depends = ["fmt-check", "vet", "test", "shellcheck", "test-nginx-conf", "test-access-lists", "test-help"]