aimclub / aimclub/FEDOT

cicd: merge ci/cd pipelines and dependencies for integrated fedot_ind

Aperta
#1,414 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub
dependencies refactoring test
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.

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.