Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Open
wants to merge 21 commits into
base: master
Choose a base branch
from

Conversation

uilianries
Copy link
Member

@uilianries uilianries commented Jan 26, 2021

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
Copy link
Member

danimtb commented Jan 26, 2021

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?

Copy link
Contributor

@jgsogo jgsogo left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think it is important to keep this check... and realize that a commit to Conan repository broke the example. If we are breaking an example there are two options:

  • We have introduced a regression in Conan
  • The example was not using stable features from Conan
  • (recipe in ConanCenter changed and we need to update the example)

All of them, IMHO, manifest a problem that should be fixed ASAP.


What is the scenario we want to bypass here?

@uilianries
Copy link
Member Author

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
Copy link
Contributor

jgsogo commented Jan 26, 2021

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)

version.parse("1.29.0"): [

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

result = subprocess.call(build_script, env=env)

Does it make sense?

Copy link
Contributor

@jgsogo jgsogo left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I like it! And the CI will like it too 😄

@uilianries
Copy link
Member Author

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

@uilianries uilianries closed this Jan 27, 2021
@uilianries uilianries reopened this Jan 27, 2021
Signed-off-by: Uilian Ries <[email protected]>
Signed-off-by: Uilian Ries <[email protected]>
.travis.yml Outdated
@@ -7,8 +7,8 @@ jobs:
include:

- stage: Linux - Conan develop
name: Python 3.5
python: 3.5
name: Python 3.6
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

subprocess.run is Python 3.5, but it doesn't work here, probably the patch version is incompatible. https://docs.python.org/3.5/library/subprocess.html#subprocess.run

Signed-off-by: Uilian Ries <[email protected]>
Signed-off-by: Uilian Ries <[email protected]>
@jgsogo
Copy link
Contributor

jgsogo commented Jan 29, 2021

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
Copy link
Member Author

I agree, I'll change to support 3.5 again

@jgsogo
Copy link
Contributor

jgsogo commented Jan 29, 2021

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

Signed-off-by: Uilian Ries <[email protected]>
@uilianries
Copy link
Member Author

@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 uilianries closed this Feb 1, 2021
@uilianries uilianries reopened this Feb 1, 2021
Signed-off-by: Uilian Ries <[email protected]>
Signed-off-by: Uilian Ries <[email protected]>
Signed-off-by: Uilian Ries <[email protected]>
Signed-off-by: Uilian Ries <[email protected]>
Signed-off-by: Uilian Ries <[email protected]>
@uilianries
Copy link
Member Author

uilianries commented Feb 5, 2021

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?

Signed-off-by: Uilian Ries <[email protected]>
Signed-off-by: Uilian Ries <[email protected]>
Signed-off-by: Uilian Ries <[email protected]>
Signed-off-by: Uilian Ries <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants