cicd: merge ci/cd pipelines and dependencies for integrated fedot_ind
- Lingua principale
- Python
- Stelle
- 712
- Fork
- 96
- Merge medio
- 3g 1h
- PR unite (30g)
- 10
Descrizione
## Summary
Merge the CI/CD configurations and dependency management from FEDOT and Fedot.Industrial into a single, streamlined setup that supports optional industrial extensions.
## Motivation
Currently, FEDOT and Fedot.Industrial have separate CI/CD pipelines and dependency specifications. A unified configuration will reduce maintenance overhead, ensure consistent testing, and support optional installation of industrial features.
## Guide-level explanation
* Merge pyproject.toml/setup.py files to include industrial dependencies as optional extras:
```toml
[project.optional-dependencies]
industrial = ["torch>=2.0", "fastai", "giotto-tda", ...]
```
* Update GitHub Actions workflows to test both core and industrial modes
* Ensure that `uv pip install -e .` works without industrial dependencies
* Ensure that `uv pip install ".[industrial]"` installs the full industrial stack
## Reference-level explanation
> GENERALLY UPDATE THE APPROACH TO MAINTAINING DEPENDENCIES!
* Analyze `requirements.txt` and `setup.py` (with `pyproject.toml`) from both repositories
* Resolve version conflicts between dependencies
Test suites should be run in stages (separate workflows):
1. FEDOT unit tests + Fedot.Industrial unit tests (CPU only!)
2. FEDOT integration tests
3. Fedot.Industrial integration tests (CPU only!)
## Drawbacks
* Increased complexity in CI configuration
* Risk of dependency conflicts between core and industrial packages
## Unresolved Questions
How to handle and maintain platform-specific dependencies (e.g., CUDA)?
Guida per i contributori
Apri la guida per i contributori
Valutazione
Questa issue non è ancora stata valutata.