|
1 | 1 | VENV_DIR = venv |
2 | | -VENV_BINDIR = $(VENV_DIR)/bin |
3 | | -.PHONY = test ruff mypy pytest |
| 2 | +VENV_BIN_DIR = $(VENV_DIR)/bin |
| 3 | +AIRFLOW_SETUP = $(VENV_BIN_DIR)/.airflow-2.11.0 |
| 4 | +AIRFLOW_CFG = airflow/airflow.cfg |
| 5 | +AIRFLOW_TESTS_HOME = $(PWD)/tests |
| 6 | +AIRFLOW_TESTS_CFG = $(AIRFLOW_TESTS_HOME)/airflow.cfg |
| 7 | +AIRFLOW_TESTS_DB = $(AIRFLOW_TESTS_HOME)/airflow.db |
4 | 8 |
|
5 | | -$(VENV_BINDIR): |
| 9 | +.PHONY = airflow-setup test ruff mypy pytest |
| 10 | + |
| 11 | +$(AIRFLOW_CFG): |
6 | 12 | bin/airflow setup |
7 | | - touch $(VENV_BINDIR) |
8 | 13 |
|
9 | | -$(VENV_DIR)/lib/*/site-packages/mock: $(VENV_BINDIR) |
10 | | - $(VENV_BINDIR)/pip3 install mock |
| 14 | +$(AIRFLOW_SETUP): $(AIRFLOW_CFG) |
| 15 | + touch $(AIRFLOW_SETUP) |
| 16 | + |
| 17 | +airflow-setup: $(AIRFLOW_SETUP) |
| 18 | + |
| 19 | +$(VENV_DIR)/lib/*/site-packages/mock: $(AIRFLOW_SETUP) |
| 20 | + $(VENV_BIN_DIR)/pip3 install mock |
11 | 21 | touch $(VENV_DIR)/lib/*/site-packages/mock |
12 | 22 |
|
13 | | -$(VENV_BINDIR)/pytest: $(VENV_BINDIR) |
14 | | - $(VENV_BINDIR)/pip3 install pytest pytest-mock |
15 | | - touch $(VENV_BINDIR)/pytest |
| 23 | +$(VENV_BIN_DIR)/pytest: $(AIRFLOW_SETUP) |
| 24 | + $(VENV_BIN_DIR)/pip3 install pytest pytest-mock |
| 25 | + touch $(VENV_BIN_DIR)/pytest |
| 26 | + |
| 27 | +$(VENV_BIN_DIR)/mypy: $(AIRFLOW_SETUP) |
| 28 | + $(VENV_BIN_DIR)/pip3 install mypy types-PyYAML types-requests types-mock |
| 29 | + touch $(VENV_BIN_DIR)/mypy |
16 | 30 |
|
17 | | -$(VENV_BINDIR)/mypy: $(VENV_BINDIR) |
18 | | - $(VENV_BINDIR)/pip3 install mypy types-PyYAML types-requests types-mock |
19 | | - touch $(VENV_BINDIR)/mypy |
| 31 | +$(VENV_BIN_DIR)/ruff: $(AIRFLOW_SETUP) |
| 32 | + $(VENV_BIN_DIR)/pip3 install ruff |
| 33 | + touch $(VENV_BIN_DIR)/ruff |
20 | 34 |
|
21 | | -$(VENV_BINDIR)/ruff: $(VENV_BINDIR) |
22 | | - $(VENV_BINDIR)/pip3 install ruff |
23 | | - touch $(VENV_BINDIR)/ruff |
| 35 | +mypy: $(VENV_BIN_DIR)/mypy |
| 36 | + PYTHONPATH=$(PWD)/plugins:$(PWD)/shared MYPY_PATH=$(PWD)/plugins:$(PWD)/shared $(VENV_BIN_DIR)/mypy --config=mypy.ini |
24 | 37 |
|
25 | | -mypy: $(VENV_BINDIR)/mypy |
26 | | - PYTHONPATH=$(PWD)/plugins:$(PWD)/shared MYPY_PATH=$(PWD)/plugins:$(PWD)/shared $(VENV_BINDIR)/mypy --config=mypy.ini |
| 38 | +ruff: $(VENV_BIN_DIR)/ruff |
| 39 | + PYTHONPATH=$(PWD)/plugins:$(PWD)/shared $(VENV_BIN_DIR)/ruff check shared plugins dags |
27 | 40 |
|
28 | | -ruff: $(VENV_BINDIR)/ruff |
29 | | - PYTHONPATH=$(PWD)/plugins:$(PWD)/shared $(VENV_BINDIR)/ruff check shared plugins dags |
| 41 | +$(AIRFLOW_TESTS_CFG): $(AIRFLOW_SETUP) |
| 42 | + mkdir -p $(AIRFLOW_TESTS_HOME) |
| 43 | + cp -f $(AIRFLOW_CFG) $(AIRFLOW_TESTS_CFG) |
30 | 44 |
|
31 | | -tests/airflow.db: $(VENV_BINDIR) |
32 | | - AIRFLOW__DATABASE__LOAD_DEFAULT_CONNECTIONS=False AIRFLOW__CORE__LOAD_EXAMPLES=False AIRFLOW__CORE__UNIT_TEST_MODE=True AIRFLOW_HOME=$(PWD)/tests PYTHONPATH=$(PWD)/plugins:$(PWD)/shared $(VENV_BINDIR)/airflow db migrate |
| 45 | +tests/airflow.db: $(AIRFLOW_SETUP) $(AIRFLOW_TESTS_CFG) |
| 46 | + AIRFLOW__CORE__EXECUTOR=SequentialExecutor AIRFLOW__DATABASE__LOAD_DEFAULT_CONNECTIONS=False AIRFLOW__CORE__LOAD_EXAMPLES=False AIRFLOW__CORE__UNIT_TEST_MODE=True AIRFLOW_HOME=$(AIRFLOW_TESTS_HOME) PYTHONPATH=$(PWD)/plugins:$(PWD)/shared $(VENV_BIN_DIR)/airflow db migrate |
33 | 47 |
|
34 | | -pytest: tests/airflow.db $(VENV_BINDIR)/pytest $(VENV_DIR)/lib/*/site-packages/mock |
35 | | - AIRFLOW__DATABASE__LOAD_DEFAULT_CONNECTIONS=False AIRFLOW__CORE__LOAD_EXAMPLES=False AIRFLOW__CORE__UNIT_TEST_MODE=True AIRFLOW__CORE__ALLOWED_DESERIALIZATION_CLASSES_REGEXP="(airflow|dfinity)[.].*" AIRFLOW_HOME=$(PWD)/tests PYTHONPATH=$(PWD)/plugins:$(PWD)/shared $(VENV_BINDIR)/pytest -vv tests |
| 48 | +pytest: tests/airflow.db $(VENV_BIN_DIR)/pytest $(VENV_DIR)/lib/*/site-packages/mock |
| 49 | + AIRFLOW__CORE__EXECUTOR=SequentialExecutor AIRFLOW__DATABASE__LOAD_DEFAULT_CONNECTIONS=False AIRFLOW__CORE__LOAD_EXAMPLES=False AIRFLOW__CORE__UNIT_TEST_MODE=True AIRFLOW__CORE__ALLOWED_DESERIALIZATION_CLASSES_REGEXP="(airflow|dfinity)[.].*" AIRFLOW_HOME=$(PWD)/tests PYTHONPATH=$(PWD)/plugins:$(PWD)/shared $(VENV_BIN_DIR)/pytest -vv tests |
36 | 50 |
|
37 | 51 | test: ruff mypy pytest |
0 commit comments