cicd: merge ci/cd pipelines and dependencies for integrated fedot_ind
- Lenguaje dominante
- Python
- Estrellas
- 712
- Forks
- 96
- Merge medio
- 3 d 1 h
- PR fusionados (30 d)
- 10
Descripción
## 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)?
Guía de contribución
Evaluación
Este issue todavía no se ha evaluado.