conan-io / examples

Conan 1.x examples
MIT License
124 stars 66 forks source link

Linux - Conan prev-prev is allowed to fail #77

Open uilianries opened 3 years ago

uilianries commented 3 years ago

~The CI job conanprevprev is unstable, it fails frequently because runs Conan's Development.~

The CI job conanprevprev is unstable, it fails frequently because runs old old conan version, which is not required by some recipes.

It should not be considered as an important branch here, as all features are not matured.

danimtb commented 3 years ago

I am not sure about this change. Maybe we want to know that it fails in order to fix conan develop as soon as possible.

In the case we want to avoid develop, I'd rather remove it from the CI. WDYT @jgsogo?

uilianries commented 3 years ago

The latest failed build on master branch (2 days ago): https://travis-ci.org/github/conan-io/examples/jobs/756008647

It reports both Folly and Imgur can not be installed, because requires Conan 1.32. That's correct, but prev-prev:

Last Conan version found: 1.33.0
 - prev is 1.32
 - prevprev is 1.31

We could remove Folly or even disable, but when 1.34.0 be available, 1.32 will be prev-prev and acceptable for Folly.

jgsogo commented 3 years ago

In that case, maybe we should add something as we do with ConanInvalidConfiguration in C3i. We can capture that error and not fail the CI.

I mean, instead of thinking about something like this (which is needed in case of new features)

https://github.com/conan-io/examples/blob/e8c84db48b8990b422757095d3ea4802cf9c45aa/.ci/run.py#L57

we can add a try/except around this line to capture that specific error (conan_minimum_required) and not fail

https://github.com/conan-io/examples/blob/e8c84db48b8990b422757095d3ea4802cf9c45aa/.ci/run.py#L195

Does it make sense?

uilianries commented 3 years ago

I can't see any error on AppVeyor. Timeout maybe? Restarting ...

jgsogo commented 3 years ago

There is a reason to use lower Python 3.6 (we can move away from 3.5, but let's keep it at 3.6): https://github.com/conan-io/tribe/blob/main/design/003-codebase-python.md

The plan is to move this CI (and the rest) to our Jenkins now that @czoido has migrated Conan-TestSuite. If it is broken in Appveyor/Travis, we can focus on moving to our CI and then take care of this issue.

uilianries commented 3 years ago

I agree, I'll change to support 3.5 again

jgsogo commented 3 years ago

@uilianries Python 3.6 is enough (if 3.5 fails for any reason)

uilianries commented 3 years ago

@jgsogo It's totally possible emulate check_output. Reading Python docs, it was introduce in 3.7, that's why older versions complained. Anyway, Python 3.5 should work again.

uilianries commented 3 years ago

After many tries, our current villain is brew upgrade pyenv command. Travis takes more than 50 minutes only to run before_install step, resulting in a timeout error. Travis offers caching feature to speed up the installation, but first we would need to pass all steps and cache, but unfortunately 50 min is not enough.

As OSX build are a pain in the neck for us, we could migrate Example to Jenkins. WDYT @jgsogo @danimtb ? If yes, do we have a template or example for Jenkinsfile?