Skip to content

Conversation

@uilianries
Copy link
Member

@uilianries uilianries commented Nov 13, 2025

Hello!

This PR brings Conan Compatibility feature to support backward compatible packages from CCI.

As a result, some builds should not be needed, as most of pre-built packages are available in Conan Center already.

The compatibility.py brings backward compatibility for:

  • cppstd and cstd using older versions
  • Fallback for Apple Clang 17 -> 13
  • MSCV 194 -> 193
  • GCC 13 -> 11

It's possible to see Apple build consuming compatible packages from Conan Center: https://github.com/conan-io/examples2/actions/runs/19324742919/job/55273162653?pr=203#step:8:6179

For Windows as well: https://github.com/conan-io/examples2/actions/runs/19324742919/job/55273162674?pr=203#step:8:7739


Time saving:

Windows did not really help, because the compatibility rule is already there. That build takes ~16min and consumes several pre-built packages from Conan Center already, but takes a long time to build everything else.

Signed-off-by: Uilian Ries <uilianr@jfrog.com>
@uilianries uilianries marked this pull request as ready for review November 13, 2025 08:32
@uilianries uilianries requested a review from czoido November 13, 2025 08:33
Signed-off-by: Uilian Ries <uilianr@jfrog.com>
@uilianries uilianries changed the title [infrastructure] Add compatibility rule for Apple and Windows [infrastructure] Add compatibility rule in order to consume packages from Conan Center Nov 13, 2025

# Linux GCC 13->11 fallback compatibility
if compiler == "gcc" and compiler_version == "13":
factors.append([{"compiler.version": "11"}])
Copy link
Member

Choose a reason for hiding this comment

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

Is this safe? I know the concerns between compiler majors is a bit different from clang to gcc

Copy link
Member Author

Choose a reason for hiding this comment

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

Kind of, it builds, it passes, and it's only for examples2 CI proposal, no upload involved. 😄

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