cinder / Cinder

Cinder is a community-developed, free and open source library for professional-quality creative coding in C++.
http://libcinder.org
Other
5.27k stars 939 forks source link

[CI] Update travis CI to use only supported ubuntu images #2199

Closed MikeGitb closed 3 years ago

MikeGitb commented 3 years ago

The oldest ubuntu distro, compiler and c++ standard and cmake version supported by cinder have changed quite a bit. Also travis itself has changed the environments it provides and what options are available. This PR cleans up the travis-ci file and tests cinder only with the default g++ and clang++ compiler on ubuntu bionic and focal respectively.

The main goal here is to make the ci-results usable again for development. Extending the test matrix to more compilers and more standard settings is left for a future PR.

MikeGitb commented 3 years ago

TODO: also fix OSX runs

MikeGitb commented 3 years ago

Note: This PR also deactivates two test on macos with older xcode versions, as the cmake version there is 3.9. As I don't have a mac, I don't know what the fastest way to install a newer cmake version would be. Using brew upgrade cmake seems possible, but that leeds to excessive build times as it first also installs several dependencies.

andrewfb commented 3 years ago

Thanks for this update

ufidstudios-ch commented 3 years ago

I'd be happy to set up a Bitrise CI integration, they've offered us a free plan:

https://blog.bitrise.io/free-developer-plan-features-for-open-source-projects-on-bitrise

ufidstudios-ch commented 3 years ago

The reason for insisting on CMake 3.10.2 is that it's what is bundled with Android Studio, so it's available on Mac, PC and Linux.

MikeGitb commented 3 years ago

it's what is bundled with Android Studio, so it's available on Mac, PC and Linux.

Only when android studio is installed. People like me don't write Software for Android ;). Well, I'm using latest cmake anyway but I've no Idea what the typical MacOS dev environment looks like.

ufidstudios-ch commented 3 years ago

Right. But the object of this exercise is to make it as easy as possible for people who do.

Ideally, and Android developer wants to install Android Studio and nothing else, and be able to build Cinder from source, and deploy it to the Play Store. This is a normal use case.

ufidstudios-ch commented 3 years ago

Anyway. You don't need a mac or an android device, because bitrise now runs a CI pipeline which checks everything.

https://app.bitrise.io/build/88e8d685acd39547#?tab=log

With regard to toolchains - I don't know a single Android developer who doesn't use Android studio. It's theoretically possible with a lot of expensive and time consuming custom scripting, but this is best avoided if at all possible. We want Cinder for Android to work as easily as possible, out of the box.

ufidstudios-ch commented 3 years ago

@MikeGitb Just out of interest, do you mainly write for Windows & Linux? I'm keen to cover those bases too.

MikeGitb commented 3 years ago

I think we should move this discussion back to https://github.com/cinder/Cinder/pull/2208 (wrote a comment there) I only linked this PR, because the question of how to install recent versions of cmake on mac came up when I created this PR too.