|
3 | 3 |
|
4 | 4 | PYTHON_VERSION ?= 3.10 |
5 | 5 | IMAGE = testcontainers-python:${PYTHON_VERSION} |
6 | | -PACKAGES = core $(addprefix modules/,$(notdir $(wildcard modules/*))) |
| 6 | +PACKAGES = core $(addprefix modules/,$(notdir $(filter %/, $(wildcard modules/*/)))) |
7 | 7 |
|
8 | 8 | UPLOAD = $(addsuffix /upload,${PACKAGES}) |
9 | | -TESTS = $(addsuffix /tests,$(filter-out meta,${PACKAGES})) |
| 9 | +TESTS = $(addsuffix /tests,$(filter-out meta,$(filter-out %.md %.txt,${PACKAGES}))) |
10 | 10 | TESTS_DIND = $(addsuffix -dind,${TESTS}) |
11 | 11 | DOCTESTS = $(addsuffix /doctests,$(filter-out modules/README.md,${PACKAGES})) |
12 | 12 |
|
| 13 | +ARCH := $(shell uname -m) |
| 14 | +ARM_ARCHS := arm64 aarch64 |
| 15 | +IS_ARM := $(filter $(ARCH),$(ARM_ARCHS)) |
| 16 | + |
| 17 | +# List of safe extras (excluding 'db2') with original TOML keys |
| 18 | +EXTRAS_LIST := $(shell $(PYTHON) scripts/list_arm_extras.py) |
13 | 19 |
|
14 | 20 | install: ## Set up the project for development |
| 21 | +ifeq ($(IS_ARM),$(ARCH)) |
| 22 | + @echo "Detected ARM architecture, skipping 'db2' extra (ibm-db is incompatible)" |
| 23 | + poetry install $(foreach extra,$(EXTRAS_LIST),--extras $(extra)) |
| 24 | +else |
| 25 | + @echo "Detected non-ARM architecture, installing all extras" |
15 | 26 | poetry install --all-extras |
| 27 | +endif |
16 | 28 | poetry run pre-commit install |
17 | 29 |
|
18 | 30 | build: ## Build the python package |
|
0 commit comments