Proposal: module-aware fast local validation for contributors
Description
AutoGluon is a large multi-module project. Contributors often change one area (for example, Tabular) but the full test suite can take several hours. This proposal adds a fast, module-aware local validation command to catch common problems before a pull request reaches CI.
Initial scope: tabular only. This does not replace full CI, platform tests, benchmark tests, or GPU tests.
Proposed files
CI/quick_validate.py— CLI entry point, invoked asuv run python CI/quick_validate.py --module tabular.CI/smoke_tests/test_tabular_smoke.py— a tiny end-to-end test that trainsTabularPredictoron a small in-memory dataset and verifies prediction succeeds.CONTRIBUTING.md— documents the command, expected duration, and the checks intentionally left to CI.
Proposed behavior
For --module tabular, the command would:
- Run Ruff formatting and lint checks on the relevant paths.
- Run the existing fast, targeted Tabular unit tests.
- Run the small train/predict smoke test.
- Print a summary of passed checks and explicitly list expensive checks not run locally.
Example:
uv run python CI/quick_validate.py --module tabularExample summary:
✓ Ruff format and lint passed
✓ Targeted Tabular tests passed
✓ Tabular train/predict smoke test passed
Not run: full cross-platform CI, benchmarks, GPU tests, and the complete test suite.Acceptance criteria
- Works with the documented supported Python versions and does not add a new runtime dependency.
- Uses the repository's existing
uv, Ruff, and pytest workflow. - Has a small, deterministic smoke test with a short time limit and cleanup of temporary model artifacts.
- Fails with actionable messages if linting, targeted tests, or the smoke test fails.
- Does not alter the existing full-CI or benchmark workflows.
Why this helps
This creates a quick feedback loop for first-time and experienced contributors, reduces avoidable CI failures, and makes the expected pre-PR validation steps explicit. Additional modules such as TimeSeries and MultiModal can be considered later, after the Tabular implementation is reviewed.
Source: autogluon/autogluon