benkuper / Chataigne

Artist-friendly Modular Machine for Art and Technology
https://benjamin.kuperberg.fr/chataigne
GNU General Public License v3.0
1.22k stars 58 forks source link

CI for older Linux versions #174

Closed tommag closed 1 year ago

tommag commented 1 year ago

Hey Ben !

Following issue #57 and a number of people having trouble running Chataigne on Linux I've spent some time again on the CI.

Here is what I did :

I've tested on the bleeding edge : the libssl 3 dependency is OK and Chataigne requires libc >= 2.27 which basically means Ubuntu 18.04 and higher.

I've tested with Debian 10 (Buster - released in 2019) and Ubuntu 22.10. Unfortunately older systems such as Debian 9 are not supported because Chataigne/JUCE uses C++17 and it would be even more complicated to have a C++17 compiler (gcc > 6) run on Debian 9. Not impossible but I've already spent a fair bit of time on it and it seems to me that it's a good balance to support 5-year old, currently supported OSes :) (Debian 9 is EOL already, Ubuntu 18.04 was supported until April 23).

I'd understand if you don't want to merge the PR as it complicates a bit the CI workflow (potential need to rebuild the Docker image). I'm willing to support the Linux CI in the future however :)

If you're OK with the PR maybe it would be interesting to publish a beta version and ask on the Discord if people can test it to see if there are issues before the next stable release ?

Cheers :)

benkuper commented 1 year ago

Hey and thanks :) would this risk affecting performance if it's been compiled for older systems ? I would prioritize performance over older OS, especially the ones reaching end of life image

tommag commented 1 year ago

I think the only difference is that we're using an older version of gcc (GCC 8 released in 2018). Based on these benchmarks : https://www.phoronix.com/review/gcc8-gcc11-cxlx/2 it seems that the version of the compiler has very little real world impact on the compiled binary performance :

Capture d’écran 2023-05-30 à 11 27 51 Capture d’écran 2023-05-30 à 11 27 56

Personally I also find it important for Chataigne to be a lightweight tool running on "old" systems, especially on Linux where people may want to use older machines for small projects :)

benkuper commented 1 year ago

Done, thanks for the research and the work, as always ❤️