[Test restructure 6] Update Makefile and CI workflows for new directory layout
- Dominant language
- Python
- Stars
- 7.3k
- Forks
- 1.4k
- Avg merge
- 1d 21h
- Merged PRs (30d)
- 15
Description
## What
- Update Makefile test targets to use path-based pytest invocations.
- Update all `.github/workflows/` files that run tests to use the new Makefile targets.
## New targets
### Tier 1: Unit
test-python-unit:
pytest sdk/python/tests/unit -n 8
### Tier 2: Universal (parameterized by backend via env var)
test-python-universal-duckdb:
FULL_REPO_CONFIGS_MODULE=sdk.python.tests.universal.feature_repos.duckdb_repo_configuration \
pytest sdk/python/tests/universal -n 8
test-python-universal-ray:
FULL_REPO_CONFIGS_MODULE=sdk.python.tests.universal.feature_repos.ray_repo_configuration \
pytest sdk/python/tests/universal
### Tier 3: Component
test-python-component-ray:
pytest sdk/python/tests/component/ray
test-python-component-spark:
pytest sdk/python/tests/component/spark
### Tier 4: Integration
test-python-integration-rest-api:
pytest sdk/python/tests/integration/rest_api
test-python-integration-dbt:
pytest sdk/python/tests/integration/dbt
test-python-integration-auth:
pytest sdk/python/tests/integration/auth
### Composite
test-python-ray:
$(MAKE) test-python-component-ray
$(MAKE) test-python-universal-ray
## Workflow mapping
| Workflow file | Current target | New target |
|---------------|---------------|------------|
| `unit_tests.yml` | `make test-python-unit` | `make test-python-unit` (now path-scoped to `tests/unit`) |
| `pr_ray_integration_tests.yml` | `make test-python-ray-integration` | `make test-python-ray` (component/ray + universal/ray) |
| `pr_duckdb_integration_tests.yml` | `make test-python-universal-duckdb-offline` | `make test-python-universal-duckdb` |
| `pr_registration_integration_tests.yml` | `make test-python-registration` | `make test-python-universal-registration` or scoped target |
| `pr_local_integration_tests.yml` | `make test-python-integration-local` | `make test-python-universal-local` (universal with local config) |
| `pr_integration_tests.yml` | `make test-python-integration` | `make test-python-universal-cloud` + `make test-python-integration` |
| `pr_remote_rbac_integration_tests.yml` | `make test-python-integration-rbac-remote` | `make test-python-integration-auth` |
| `registry-rest-api-tests.yml` | direct pytest command | `make test-python-integration-rest-api` |
| `dbt-integration-tests.yml` | `make test-python-integration-dbt` | `make test-python-integration-dbt` (unchanged) |
Contributor guide
Assessment
This issue has not been assessed yet.