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

userver: add unspecified version #20712

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

Conversation

Jihadist
Copy link
Contributor

@Jihadist Jihadist commented Oct 20, 2023

Specify library name and version: userver/cci.20231018

I understand recipe looks like a bit bloated and test package too, but both of them require a lot of thirdparty libraries and specific options so it's nontrivial task.

@conan-center-bot conan-center-bot added Failed Missing dependencies Build failed due missing dependencies in Conan Center labels Oct 20, 2023
@conan-center-bot

This comment has been minimized.

@conan-center-bot conan-center-bot added Version conflict There is a version conflict when solving the dependencies graph and removed Missing dependencies Build failed due missing dependencies in Conan Center labels Oct 20, 2023
@conan-center-bot

This comment has been minimized.

@conan-center-bot conan-center-bot added the Missing dependencies Build failed due missing dependencies in Conan Center label Oct 20, 2023
@conan-center-bot

This comment has been minimized.

@Jihadist
Copy link
Contributor Author

Waiting for #19971 in order to resolve version conflict.

@AbrilRBS
Copy link
Member

Retriggered again, linked PR has now been merged

@AbrilRBS AbrilRBS self-assigned this Oct 23, 2023
@AbrilRBS AbrilRBS removed Missing dependencies Build failed due missing dependencies in Conan Center Version conflict There is a version conflict when solving the dependencies graph labels Oct 23, 2023
@conan-center-bot conan-center-bot added Missing dependencies Build failed due missing dependencies in Conan Center Version conflict There is a version conflict when solving the dependencies graph labels Oct 23, 2023
@conan-center-bot

This comment has been minimized.

@conan-center-bot

This comment has been minimized.

@Jihadist
Copy link
Contributor Author

Waiting for #20091

@Jihadist
Copy link
Contributor Author

@RubenRBS is there any way to build mogo-c-driver with_sasl=cyrus?

@AbrilRBS
Copy link
Member

@RubenRBS is there any way to build mogo-c-driver with_sasl=cyrus?

@Jihadist for cci no, it's not currently possible to build configurations other than the defaul ones defined in the recipe - this is something we're currently looking into allowing, but for now checks should be made in the validate method to ensure that the expected options have been activated by the user. This means that no binaries will be made for that configuration, so please do provide local logs of your builds when testing them, as it makes reviewing and future maintenance way easier :)

Copy link
Member

@AbrilRBS AbrilRBS left a comment

Choose a reason for hiding this comment

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

Thanks a lot for your contribution @Jihadist - we really appreciate it.

This is a first review (Thanks for your patience while I got around to it!), and I have some comments and suggestions. My biggest doubt right now is about the need for a non default option on the dependency, which right now generates no binaries here, happy to discuss it further

recipes/userver/all/conanfile.py Show resolved Hide resolved
recipes/userver/all/conanfile.py Show resolved Hide resolved
recipes/userver/all/conanfile.py Outdated Show resolved Hide resolved
recipes/userver/all/conanfile.py Show resolved Hide resolved
recipes/userver/all/conanfile.py Show resolved Hide resolved
recipes/userver/all/conanfile.py Outdated Show resolved Hide resolved
recipes/userver/all/conanfile.py Outdated Show resolved Hide resolved
@AbrilRBS AbrilRBS removed the Missing dependencies Build failed due missing dependencies in Conan Center label Oct 26, 2023
@conan-center-bot

This comment has been minimized.

@conan-center-bot

This comment has been minimized.

Copy link
Contributor

Hooks produced the following warnings for commit d061d1d
userver/cci.20240219@#c5a0d7390d2a66f7ee41123a52a3f25c
post_package_info(): WARN: [CMAKE FILE NOT IN BUILD FOLDERS (KB-H019)] The *.cmake files have to be placed in a folder declared as `cpp_info.builddirs`. Currently folders declared: {'/home/conan/w/prod-v1/bsr/108650/bdbda/.conan/data/userver/cci.20240219/_/_/package/d8f57b86b628c8981c03bc3fed1fba16c77c9cd8/'}
post_package_info(): WARN: [CMAKE FILE NOT IN BUILD FOLDERS (KB-H019)] Found files: ./lib/cmake/conan_helper.cmake

@conan-center-bot

This comment has been minimized.

Copy link
Contributor

Hooks produced the following warnings for commit a50b380
userver/cci.20240219@#c5a0d7390d2a66f7ee41123a52a3f25c
post_package_info(): WARN: [CMAKE FILE NOT IN BUILD FOLDERS (KB-H019)] The *.cmake files have to be placed in a folder declared as `cpp_info.builddirs`. Currently folders declared: {'/home/conan/w/prod-v1/bsr/108664/bbebb/.conan/data/userver/cci.20240219/_/_/package/d8f57b86b628c8981c03bc3fed1fba16c77c9cd8/'}
post_package_info(): WARN: [CMAKE FILE NOT IN BUILD FOLDERS (KB-H019)] Found files: ./lib/cmake/conan_helper.cmake

disable DWCAS
@conan-center-bot

This comment has been minimized.

Copy link
Contributor

Hooks produced the following warnings for commit d50f904
userver/cci.20240219@#c16fae17b9ce7248dbdcd46316f3396a
post_package_info(): WARN: [CMAKE FILE NOT IN BUILD FOLDERS (KB-H019)] The *.cmake files have to be placed in a folder declared as `cpp_info.builddirs`. Currently folders declared: {'/home/conan/w/prod-v1/bsr/108683/dbfaf/.conan/data/userver/cci.20240219/_/_/package/d8f57b86b628c8981c03bc3fed1fba16c77c9cd8/'}
post_package_info(): WARN: [CMAKE FILE NOT IN BUILD FOLDERS (KB-H019)] Found files: ./lib/cmake/conan_helper.cmake

@conan-center-bot

This comment has been minimized.

Copy link
Contributor

Hooks produced the following warnings for commit 07f23e8
userver/cci.20240219@#a45b62ac9dbfc1add5f719aff4dafc2c
post_package_info(): WARN: [CMAKE FILE NOT IN BUILD FOLDERS (KB-H019)] The *.cmake files have to be placed in a folder declared as `cpp_info.builddirs`. Currently folders declared: {'/home/conan/w/prod-v1/bsr/108747/abced/.conan/data/userver/cci.20240219/_/_/package/d8f57b86b628c8981c03bc3fed1fba16c77c9cd8/'}
post_package_info(): WARN: [CMAKE FILE NOT IN BUILD FOLDERS (KB-H019)] Found files: ./lib/cmake/conan_helper.cmake

@conan-center-bot

This comment has been minimized.

Copy link
Contributor

Hooks produced the following warnings for commit d6abf62
userver/cci.20240219@#078e749cd0ec6cf84f43f0df37c307e7
post_package_info(): WARN: [CMAKE FILE NOT IN BUILD FOLDERS (KB-H019)] The *.cmake files have to be placed in a folder declared as `cpp_info.builddirs`. Currently folders declared: {'/home/conan/w/prod-v1/bsr/108766/acbda/.conan/data/userver/cci.20240219/_/_/package/d8f57b86b628c8981c03bc3fed1fba16c77c9cd8/'}
post_package_info(): WARN: [CMAKE FILE NOT IN BUILD FOLDERS (KB-H019)] Found files: ./lib/cmake/conan_helper.cmake

@conan-center-bot
Copy link
Collaborator

Conan v1 pipeline ❌

Failure in build 33 (059422cbcd149e95ebb30a327736b5b4940721db):

  • userver/cci.20240219:
    CI failed to create some packages (All logs)

    Logs for packageID d8f57b86b628c8981c03bc3fed1fba16c77c9cd8:
    [settings]
    arch=x86_64
    build_type=Release
    compiler=gcc
    compiler.libcxx=libstdc++11
    compiler.version=9
    os=Linux
    
    [...]
    -- Conan: Target declared 'concurrentqueue::concurrentqueue'
    -- Conan: Target declared 'yaml-cpp::yaml-cpp'
    -- Conan: Target declared 'libev::libev'
    -- Conan: Target declared 'http_parser::http_parser'
    -- Conan: Component target declared 'libnghttp2::nghttp2'
    -- Conan: Target declared 'libnghttp2::libnghttp2'
    -- Conan: Component target declared 'CURL::libcurl'
    -- Conan: Component target declared 'OpenSSL::Crypto'
    -- Conan: Component target declared 'OpenSSL::SSL'
    -- Conan: Target declared 'openssl::openssl'
    -- Conan: Including build module from '/home/conan/w/prod-v1/bsr/108868/dbbff/.conan/data/openssl/3.2.1/_/_/package/a16868cdc757ddd2bddffb90f6893124d3bb4c42/lib/cmake/conan-official-openssl-variables.cmake'
    -- Conan: Component target declared 'cryptopp::cryptopp'
    -- Conan: Component target declared 'c-ares::cares'
    -- Conan: Target declared 'rapidjson'
    -- Conan: Including build module from '/home/conan/w/prod-v1/bsr/108868/dbbff/.conan/data/userver/cci.20240219/_/_/package/d8f57b86b628c8981c03bc3fed1fba16c77c9cd8/lib/cmake/conan_helper.cmake'
    -- Found Python: /opt/pyenv/versions/3.7.13/bin/python3.7 (found version "3.7.13") found components: Interpreter Development Development.Module Development.Embed 
    -- Configuring done
    -- Generating done
    -- Build files have been written to: /home/conan/w/prod-v1/bsr/cci-b77d90d9/recipes/userver/all/test_package/build/Release
    userver/cci.20240219 (test package): CMake command: cmake --build "/home/conan/w/prod-v1/bsr/cci-b77d90d9/recipes/userver/all/test_package/build/Release" '--' '-j3'
    
    ----Running------
    > cmake --build "/home/conan/w/prod-v1/bsr/cci-b77d90d9/recipes/userver/all/test_package/build/Release" '--' '-j3'
    -----------------
    Scanning dependencies of target PackageTest_objs
    [ 20%] Building CXX object CMakeFiles/PackageTest_objs.dir/hello.cpp.o
    [ 20%] Built target PackageTest_objs
    Scanning dependencies of target PackageTest_universal
    [ 40%] Building CXX object CMakeFiles/PackageTest_universal.dir/test_universal.cpp.o
    Scanning dependencies of target PackageTest_core
    [ 60%] Building CXX object CMakeFiles/PackageTest_core.dir/test_core.cpp.o
    [ 80%] Linking CXX executable PackageTest_universal
    [100%] Linking CXX executable PackageTest_core
    [100%] Built target PackageTest_universal
    [100%] Built target PackageTest_core
    userver/cci.20240219 (test package): Running test()
    
    ----Running------
    > . "/home/conan/w/prod-v1/bsr/cci-b77d90d9/recipes/userver/all/test_package/build/Release/generators/conanrun.sh" && ./PackageTest_core
    -----------------
    15
    WARN: boost/1.79.0: requirement zlib/[>=1.2.11 <2] overridden by userver/cci.20240219 to zlib/1.3.1 
    WARN: libcurl/7.88.1: requirement openssl/[>=1.1 <4] overridden by userver/cci.20240219 to openssl/3.2.1 
    WARN: libcurl/7.88.1: requirement zlib/[>=1.2.11 <2] overridden by userver/cci.20240219 to zlib/1.3.1 
    WARN: openssl/3.2.1: requirement zlib/[>=1.2.11 <2] overridden by libcurl/7.88.1 to zlib/1.3.1 
    userver/cci.20240219 (test package): WARN: Using the new toolchains and generators without specifying a build profile (e.g: -pr:b=default) is discouraged and might cause failures and unexpected behavior
    userver/cci.20240219 (test package): WARN: Using the new toolchains and generators without specifying a build profile (e.g: -pr:b=default) is discouraged and might cause failures and unexpected behavior
    ERROR: userver/cci.20240219 (test package): Error in test() method, line 32
    	if self.dependencies[self.tested_reference_str].options.with_utest:
    	AttributeError: 'NoneType' object has no attribute 'dependencies'
    

Note: To save resources, CI tries to finish as soon as an error is found. For this reason you might find that not all the references have been launched or not all the configurations for a given reference. Also, take into account that we cannot guarantee the order of execution as it depends on CI workload and workers availability.


Conan v2 pipeline ✔️

Note: Conan v2 builds are now mandatory. Please read our discussion about it.

All green in build 33 (059422cbcd149e95ebb30a327736b5b4940721db):

  • userver/cci.20240219:
    All packages built successfully! (All logs)

Copy link
Contributor

Hooks produced the following warnings for commit 059422c
userver/cci.20240219@#778ffbba5410f4380729522e6d28ca26
post_package_info(): WARN: [CMAKE FILE NOT IN BUILD FOLDERS (KB-H019)] The *.cmake files have to be placed in a folder declared as `cpp_info.builddirs`. Currently folders declared: {'/home/conan/w/prod-v1/bsr/108868/dbbff/.conan/data/userver/cci.20240219/_/_/package/d8f57b86b628c8981c03bc3fed1fba16c77c9cd8/'}
post_package_info(): WARN: [CMAKE FILE NOT IN BUILD FOLDERS (KB-H019)] Found files: ./lib/cmake/conan_helper.cmake

@Jihadist
Copy link
Contributor Author

I disabled all additional modules now. When (or if ) pr is merged, I'll enable modules one by one. Some can work in this recipe without changes, some not. Everyone can try to build recipe locally for another platforms with additional modules, I left tests for that purposes.

@Jihadist
Copy link
Contributor Author

@RubenRBS can you review this?

@AbrilRBS
Copy link
Member

Hi! Thanks for the ping, sorry that this one got lost among the rest of PRs: Note that opening and closing PRs makes Github Projects set the status to "Done", which we don't often check, so it's easier that the PR gets delayed if you do that :)

if you ever need to rebuild, pressing the "Update branch" button usually works best!

Copy link
Member

@AbrilRBS AbrilRBS left a comment

Choose a reason for hiding this comment

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

Ok, after going again thru this, it looks mostly good, but I'll ask someone else from the team to check a few extra things tomororw, sorry for such a long delay, thanks a lot for your patience :)

default_options = {
'fPIC': True,
'lto': True,
'with_jemalloc': False, # Disabled dy default due to jemalloc recipe does not support Conan v2
Copy link
Member

Choose a reason for hiding this comment

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

Jemalloc is now available in Conan 2, feel free to make this True by default if upstream following https://github.com/userver-framework/userver/blob/13ca039791f9dbaa9da36e3e55e86451516dfa7f/CMakeLists.txt#L96 :)

Copy link
Contributor Author

Choose a reason for hiding this comment

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

I know but I fixed this recipe so many tries that now I have no desire to do it again

@Jihadist
Copy link
Contributor Author

Hi! Thanks for the ping, sorry that this one got lost among the rest of PRs: Note that opening and closing PRs makes Github Projects set the status to "Done", which we don't often check, so it's easier that the PR gets delayed if you do that :)

if you ever need to rebuild, pressing the "Update branch" button usually works best!

Oh, now I understand why my other prs have been waiting review for months

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants