-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathMakefile
More file actions
109 lines (86 loc) · 3.47 KB
/
Copy pathMakefile
File metadata and controls
109 lines (86 loc) · 3.47 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
# Convenience commands for common development workflows.
PYTHON ?= python
PYTEST ?= pytest
PYTEST_OPTS ?=
MINT ?= npx --yes mint
MKDOCS ?= mkdocs
DOCS_REMOTE ?= origin
DOCS_BRANCH ?= main
PYTHONPATH := src$(if $(PYTHONPATH),:$(PYTHONPATH),)
export PYTHONPATH
.PHONY: test test-lzl-io test-lzl-load test-lzl-logging test-lzl-pool test-lzl-proxied test-lzl-require test-lzl-sysmon test-lzl test-lzo-registry test-lzo-types test-lzo-utils test-lzo docs-preview docs-generate docs-publish mkdocs-serve mkdocs-build mkdocs-deploy
## test: Run the entire pytest suite
test:
$(PYTEST) $(PYTEST_OPTS)
## test-lzl-io: Run IO-focused LazyLib tests added during documentation work
test-lzl-io:
$(PYTEST) $(PYTEST_OPTS) \
tests/lzl/test_io_serializers.py \
tests/lzl/test_io_temporary.py \
tests/lzl/test_io_persistent_dict.py
## test-lzl-load: Run LazyLoad utility tests
test-lzl-load:
$(PYTEST) $(PYTEST_OPTS) tests/lzl/test_load_lazy.py
## test-lzl-logging: Run LazyOps logging tests
test-lzl-logging:
$(PYTEST) $(PYTEST_OPTS) tests/lzl/test_logging_basic.py
## test-lzl-pool: Run LazyOps thread pool tests
test-lzl-pool:
$(PYTEST) $(PYTEST_OPTS) tests/lzl/test_pool.py
## test-lzl-proxied: Run LazyOps proxy helper tests
test-lzl-proxied:
$(PYTEST) $(PYTEST_OPTS) tests/lzl/test_proxied.py
## test-lzl-require: Run LazyOps dependency resolver tests
test-lzl-require:
$(PYTEST) $(PYTEST_OPTS) tests/lzl/test_require.py
## test-lzl-sysmon: Run system monitoring context tests
test-lzl-sysmon:
$(PYTEST) $(PYTEST_OPTS) tests/lzl/test_sysmon.py
## test-lzl: Run documentation-focused submodule tests
test-lzl: test-lzl-io test-lzl-load test-lzl-logging test-lzl-pool test-lzl-proxied test-lzl-require test-lzl-sysmon
## test-lzo-registry: Run registry tests created during `lzo` documentation sweep
test-lzo-registry:
$(PYTEST) $(PYTEST_OPTS) tests/lzo/test_registry.py
## test-lzo-types: Run type helper tests added for `lzo.types`
test-lzo-types:
$(PYTEST) $(PYTEST_OPTS) tests/lzo/test_types.py
## test-lzo-utils: Exercise utility helpers refreshed during documentation work
test-lzo-utils:
$(PYTEST) $(PYTEST_OPTS) tests/lzo/test_utils.py
## test-lzo: Run the `lzo` suite generated alongside documentation updates
test-lzo: test-lzo-registry test-lzo-types test-lzo-utils
## docs-preview: Preview documentation locally via Mintlify
docs-preview:
$(MINT) dev
## docs-generate: Run Mintlify validation checks before publishing
docs-generate:
$(MINT) broken-links
@if [ -n "$(DOCS_OPENAPI)" ]; then \
$(MINT) openapi-check $(DOCS_OPENAPI); \
fi
## docs-publish: Push documentation updates to trigger Mintlify deployment
docs-publish:
git push $(DOCS_REMOTE) $(DOCS_BRANCH)
## mkdocs-serve: Serve MkDocs documentation locally for development
mkdocs-serve:
$(MKDOCS) serve
## mkdocs-build: Build MkDocs documentation site
mkdocs-build:
$(MKDOCS) build
## mkdocs-deploy: Deploy MkDocs documentation to GitHub Pages
mkdocs-deploy:
$(MKDOCS) gh-deploy --force
# Spin up e2e environment
run-e2e-local: ## Run e2e tests locally
docker compose -f tests/docker-compose.e2e.yml up -d
uv sync --extra e2e
export MINIO_ENDPOINT=http://localhost:9000; \
export MINIO_ACCESS_KEY=minioadmin; \
export MINIO_SECRET_KEY=minioadmin; \
export MINIO2_ENDPOINT=http://localhost:9001; \
export MINIO2_ACCESS_KEY=minioadmin; \
export MINIO2_SECRET_KEY=minioadmin; \
export MINIO2_REGION=us-east-1; \
export REDIS_URL=redis://localhost:6389/0; \
uv run pytest tests/e2e -v -s
docker compose -f tests/docker-compose.e2e.yml down