Robię sobie projekt https://github.com/tarsa/SortAlgoBox który wykorzystuje szereg technologii i zastanawiam się czy w ogóle jest jakieś darmowe (lub tanie) CI które byłoby w stanie odpalić wszystkie testy z tego projektu. Zna ktoś jakieś? Niech podpowie.
Projekt wykorzystuje:
- kompilator Scali, bo jest napisany głównie w Scali,
- JVM do odpalenia głównego kodu,
- OpenCL na CPU i GPU,
- kompilator C++ do kompilacji generowanych dynamicznie zestawów plików .cpp i .hpp
- następnie skompilowane binarki odpala z poziomu procesu Javowego i się z nimi komunikuje
- (w niedalekiej przyszłości) Node.js do odpalania testów skompilowanych Scalą.js do JavaScriptu
Szukałem trochę i znalazłem niby opcje do obsługi większości z tych wymagań oprócz OpenCL na GPU. Jeśli do CI można podrzucić dowolne binarki to można podrzucić JVMa, implementację OpenCL na CPU, kompilator GCC i Node.js - wszystko to wymaga tylko CPU. Największym problemem jest głównie obsługa OpenCL na GPU i to w taki sposób by pozostałe funkcjonalności też działały.