2021-05-11 18:02:17 +00:00
|
|
|
.SHELLFLAGS += -x -e
|
|
|
|
PWD = $(shell pwd)
|
2021-05-16 21:14:51 +00:00
|
|
|
UID = $(shell id -u)
|
|
|
|
GID = $(shell id -g)
|
2021-08-23 08:09:56 +00:00
|
|
|
NPM_VERSION = $(shell python -m scripts.npm_version)
|
2021-05-11 18:02:17 +00:00
|
|
|
|
2021-12-14 15:03:42 +00:00
|
|
|
all: lint-fix lint test gen web
|
2020-09-02 22:04:12 +00:00
|
|
|
|
2020-11-19 13:25:53 +00:00
|
|
|
test-integration:
|
2021-11-23 22:46:27 +00:00
|
|
|
coverage run manage.py test tests/integration
|
2020-11-19 13:25:53 +00:00
|
|
|
|
2021-12-17 19:49:32 +00:00
|
|
|
test-e2e-provider:
|
|
|
|
coverage run manage.py test tests/e2e/test_provider*
|
|
|
|
|
|
|
|
test-e2e-rest:
|
|
|
|
coverage run manage.py test tests/e2e/test_flows* tests/e2e/test_source*
|
2020-11-19 13:25:53 +00:00
|
|
|
|
2022-01-24 19:50:13 +00:00
|
|
|
test-go:
|
2022-01-24 20:41:15 +00:00
|
|
|
go test -timeout 0 -v -race -cover ./...
|
2022-01-24 19:50:13 +00:00
|
|
|
|
2022-05-07 19:22:33 +00:00
|
|
|
test-docker:
|
|
|
|
echo "PG_PASS=$(openssl rand -base64 32)" >> .env
|
|
|
|
echo "AUTHENTIK_SECRET_KEY=$(openssl rand -base64 32)" >> .env
|
|
|
|
docker-compose pull -q
|
|
|
|
docker-compose up --no-start
|
|
|
|
docker-compose start postgresql redis
|
|
|
|
docker-compose run -u root server test
|
|
|
|
rm -f .env
|
|
|
|
|
2021-05-04 16:45:28 +00:00
|
|
|
test:
|
2021-11-23 22:46:27 +00:00
|
|
|
coverage run manage.py test authentik
|
2020-09-02 22:04:12 +00:00
|
|
|
coverage html
|
|
|
|
coverage report
|
|
|
|
|
|
|
|
lint-fix:
|
2021-03-22 18:52:41 +00:00
|
|
|
isort authentik tests lifecycle
|
2020-12-05 21:08:42 +00:00
|
|
|
black authentik tests lifecycle
|
2021-10-19 13:45:15 +00:00
|
|
|
codespell -I .github/codespell-words.txt -S 'web/src/locales/**' -w \
|
|
|
|
authentik \
|
|
|
|
internal \
|
|
|
|
cmd \
|
|
|
|
web/src \
|
|
|
|
website/src \
|
|
|
|
website/docs \
|
|
|
|
website/developer-docs
|
2020-09-02 22:04:12 +00:00
|
|
|
|
|
|
|
lint:
|
2020-12-05 21:08:42 +00:00
|
|
|
bandit -r authentik tests lifecycle -x node_modules
|
|
|
|
pylint authentik tests lifecycle
|
2021-12-22 09:33:21 +00:00
|
|
|
golangci-lint run -v
|
2020-09-02 22:04:12 +00:00
|
|
|
|
2021-11-19 09:20:31 +00:00
|
|
|
i18n-extract: i18n-extract-core web-extract
|
|
|
|
|
|
|
|
i18n-extract-core:
|
2021-10-09 18:07:28 +00:00
|
|
|
./manage.py makemessages --ignore web --ignore internal --ignore web --ignore web-api --ignore website -l en
|
|
|
|
|
2021-05-16 19:07:01 +00:00
|
|
|
gen-build:
|
2021-05-16 12:13:07 +00:00
|
|
|
./manage.py spectacular --file schema.yml
|
2021-05-16 19:07:01 +00:00
|
|
|
|
2021-05-20 20:06:55 +00:00
|
|
|
gen-clean:
|
|
|
|
rm -rf web/api/src/
|
2021-06-16 10:02:02 +00:00
|
|
|
rm -rf api/
|
2021-05-20 20:06:55 +00:00
|
|
|
|
2022-05-08 14:48:53 +00:00
|
|
|
gen-client-web:
|
2021-05-11 18:02:17 +00:00
|
|
|
docker run \
|
|
|
|
--rm -v ${PWD}:/local \
|
2021-05-16 21:14:51 +00:00
|
|
|
--user ${UID}:${GID} \
|
2022-04-04 08:19:49 +00:00
|
|
|
openapitools/openapi-generator-cli:v6.0.0-beta generate \
|
2021-05-15 21:57:28 +00:00
|
|
|
-i /local/schema.yml \
|
2021-05-11 18:02:17 +00:00
|
|
|
-g typescript-fetch \
|
2022-05-08 14:48:53 +00:00
|
|
|
-o /local/gen-ts-api \
|
2021-08-23 08:09:56 +00:00
|
|
|
--additional-properties=typescriptThreePlus=true,supportsES6=true,npmName=@goauthentik/api,npmVersion=${NPM_VERSION}
|
2021-08-23 08:32:37 +00:00
|
|
|
mkdir -p web/node_modules/@goauthentik/api
|
2022-05-08 14:48:53 +00:00
|
|
|
\cp -fv scripts/web_api_readme.md gen-ts-api/README.md
|
|
|
|
cd gen-ts-api && npm i
|
|
|
|
\cp -rfv gen-ts-api/* web/node_modules/@goauthentik/api
|
2020-09-10 14:58:25 +00:00
|
|
|
|
2022-05-08 14:48:53 +00:00
|
|
|
gen-client-go:
|
2021-11-05 09:37:30 +00:00
|
|
|
wget https://raw.githubusercontent.com/goauthentik/client-go/main/config.yaml -O config.yaml
|
|
|
|
mkdir -p templates
|
|
|
|
wget https://raw.githubusercontent.com/goauthentik/client-go/main/templates/README.mustache -O templates/README.mustache
|
|
|
|
wget https://raw.githubusercontent.com/goauthentik/client-go/main/templates/go.mod.mustache -O templates/go.mod.mustache
|
2021-05-16 19:07:01 +00:00
|
|
|
docker run \
|
|
|
|
--rm -v ${PWD}:/local \
|
2021-05-16 21:14:51 +00:00
|
|
|
--user ${UID}:${GID} \
|
2022-04-04 08:19:49 +00:00
|
|
|
openapitools/openapi-generator-cli:v6.0.0-beta generate \
|
2021-05-16 19:07:01 +00:00
|
|
|
-i /local/schema.yml \
|
|
|
|
-g go \
|
2022-05-08 14:48:53 +00:00
|
|
|
-o /local/gen-go-api \
|
2021-11-05 09:37:30 +00:00
|
|
|
-c /local/config.yaml
|
2022-05-08 14:48:53 +00:00
|
|
|
go mod edit -replace goauthentik.io/api/v3=./gen-go-api
|
2021-11-29 12:54:29 +00:00
|
|
|
rm -rf config.yaml ./templates/
|
2021-05-16 19:07:01 +00:00
|
|
|
|
2022-05-08 14:48:53 +00:00
|
|
|
gen: gen-build gen-clean gen-client-web
|
2021-05-16 19:07:01 +00:00
|
|
|
|
2021-07-09 17:31:32 +00:00
|
|
|
migrate:
|
|
|
|
python -m lifecycle.migrate
|
|
|
|
|
2021-05-04 16:14:25 +00:00
|
|
|
run:
|
2021-10-11 15:51:49 +00:00
|
|
|
go run -v cmd/server/main.go
|
2021-11-18 20:01:58 +00:00
|
|
|
|
2021-12-06 20:13:04 +00:00
|
|
|
web-watch:
|
|
|
|
cd web && npm run watch
|
|
|
|
|
2021-11-19 09:20:31 +00:00
|
|
|
web: web-lint-fix web-lint web-extract
|
2021-11-18 20:01:58 +00:00
|
|
|
|
|
|
|
web-lint-fix:
|
|
|
|
cd web && npm run prettier
|
|
|
|
|
|
|
|
web-lint:
|
|
|
|
cd web && npm run lint
|
|
|
|
cd web && npm run lit-analyse
|
2021-11-19 09:20:31 +00:00
|
|
|
|
|
|
|
web-extract:
|
|
|
|
cd web && npm run extract
|
2021-11-21 21:47:10 +00:00
|
|
|
|
|
|
|
# These targets are use by GitHub actions to allow usage of matrix
|
|
|
|
# which makes the YAML File a lot smaller
|
|
|
|
|
2021-12-24 22:25:38 +00:00
|
|
|
ci--meta-debug:
|
|
|
|
python -V
|
|
|
|
node --version
|
|
|
|
|
|
|
|
ci-pylint: ci--meta-debug
|
2021-11-21 21:47:10 +00:00
|
|
|
pylint authentik tests lifecycle
|
|
|
|
|
2021-12-24 22:25:38 +00:00
|
|
|
ci-black: ci--meta-debug
|
2021-11-21 21:47:10 +00:00
|
|
|
black --check authentik tests lifecycle
|
|
|
|
|
2021-12-24 22:25:38 +00:00
|
|
|
ci-isort: ci--meta-debug
|
2021-11-21 21:47:10 +00:00
|
|
|
isort --check authentik tests lifecycle
|
|
|
|
|
2021-12-24 22:25:38 +00:00
|
|
|
ci-bandit: ci--meta-debug
|
2021-11-21 21:47:10 +00:00
|
|
|
bandit -r authentik tests lifecycle
|
|
|
|
|
2021-12-24 22:25:38 +00:00
|
|
|
ci-pyright: ci--meta-debug
|
2021-11-21 21:47:10 +00:00
|
|
|
pyright e2e lifecycle
|
2021-12-03 09:05:21 +00:00
|
|
|
|
2021-12-24 22:25:38 +00:00
|
|
|
ci-pending-migrations: ci--meta-debug
|
2021-12-03 09:05:21 +00:00
|
|
|
./manage.py makemigrations --check
|
2022-03-02 23:13:06 +00:00
|
|
|
|
|
|
|
install:
|
|
|
|
poetry install
|
2022-04-14 20:30:44 +00:00
|
|
|
cd web && npm ci
|
|
|
|
cd website && npm ci
|
2022-03-14 09:31:17 +00:00
|
|
|
|
|
|
|
a: install
|
2022-03-16 09:12:40 +00:00
|
|
|
tmux \
|
2022-03-14 09:31:17 +00:00
|
|
|
new-session 'make run' \; \
|
|
|
|
split-window 'make web-watch'
|