-
Notifications
You must be signed in to change notification settings - Fork 49
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
CI examples #7
CI examples #7
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is failing, because it needs the changes in conan-io/conan#10744 first
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Fantastic
examples/ci/game/ai/src/ai.cpp
Outdated
// ARCHITECTURES | ||
#ifdef _M_X64 | ||
std::cout << " ai/" << PKG_VERSION << ": _M_X64 defined\n"; | ||
#endif | ||
|
||
#ifdef _M_IX86 | ||
std::cout << " ai/" << PKG_VERSION << ": _M_IX86 defined\n"; | ||
#endif | ||
|
||
#if __i386__ | ||
std::cout << " ai/" << PKG_VERSION << ": __i386__ defined\n"; | ||
#endif | ||
|
||
#if __x86_64__ | ||
std::cout << " ai/" << PKG_VERSION << ": __x86_64__ defined\n"; | ||
#endif | ||
|
||
// Libstdc++ | ||
#if defined _GLIBCXX_USE_CXX11_ABI | ||
std::cout << " ai/" << PKG_VERSION << ": _GLIBCXX_USE_CXX11_ABI "<< _GLIBCXX_USE_CXX11_ABI << "\n"; | ||
#endif | ||
|
||
// COMPILER VERSIONS | ||
#if _MSC_VER | ||
std::cout << " ai/" << PKG_VERSION << ": _MSC_VER" << _MSC_VER<< "\n"; | ||
#endif | ||
|
||
#if _MSVC_LANG | ||
std::cout << " ai/" << PKG_VERSION << ": _MSVC_LANG" << _MSVC_LANG<< "\n"; | ||
#endif | ||
|
||
#if __cplusplus | ||
std::cout << " ai/" << PKG_VERSION << ": __cplusplus" << __cplusplus<< "\n"; | ||
#endif | ||
|
||
#if __INTEL_COMPILER | ||
std::cout << " ai/" << PKG_VERSION << ": __INTEL_COMPILER" << __INTEL_COMPILER<< "\n"; | ||
#endif | ||
|
||
#if __GNUC__ | ||
std::cout << " ai/" << PKG_VERSION << ": __GNUC__" << __GNUC__<< "\n"; | ||
#endif | ||
|
||
#if __GNUC_MINOR__ | ||
std::cout << " ai/" << PKG_VERSION << ": __GNUC_MINOR__" << __GNUC_MINOR__<< "\n"; | ||
#endif | ||
|
||
#if __clang_major__ | ||
std::cout << " ai/" << PKG_VERSION << ": __clang_major__" << __clang_major__<< "\n"; | ||
#endif | ||
|
||
#if __clang_minor__ | ||
std::cout << " ai/" << PKG_VERSION << ": __clang_minor__" << __clang_minor__<< "\n"; | ||
#endif | ||
|
||
#if __apple_build_version__ | ||
std::cout << " ai/" << PKG_VERSION << ": __apple_build_version__" << __apple_build_version__<< "\n"; | ||
#endif | ||
|
||
// SUBSYSTEMS | ||
|
||
#if __MSYS__ | ||
std::cout << " ai/" << PKG_VERSION << ": __MSYS__" << __MSYS__<< "\n"; | ||
#endif | ||
|
||
#if __MINGW32__ | ||
std::cout << " ai/" << PKG_VERSION << ": __MINGW32__" << __MINGW32__<< "\n"; | ||
#endif | ||
|
||
#if __MINGW64__ | ||
std::cout << " ai/" << PKG_VERSION << ": __MINGW64__" << __MINGW64__<< "\n"; | ||
#endif | ||
|
||
#if __CYGWIN__ | ||
std::cout << " ai/" << PKG_VERSION << ": __CYGWIN__" << __CYGWIN__<< "\n"; | ||
#endif |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
May we remove all this code for the libraries?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes, I thought so, didn't do it yet, because it could be useful for users running this example in other platforms. But sure, maybe better to simplify.
# Just create a project with a cool dependency graph, and | ||
# and 2 consuming applications, everything with version ranges | ||
print("- Part 1: Setup the project initial state -") | ||
run('conan remove "*" -f') # Make sure no packages from last run |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can we just remove the libraries that take part in this example? One can run this example locally and accidentally removing all the conan cache
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Also a good approach could be to setup a CONAN_HOME to run this, to keep things clean too.
I still need to figure out a few things, like uploading the packages, and the final build->develop package promotion in Artifactory, this would be related, maybe I need to figure out a couple of different CONAN_HOMEs to really mimic a distributed environment.
I think the set of operations done in this example is enough to start to understand the basic tools you have in Conan to setup your ci flows. Just some comments if you consider they could be useful:
|
I started using
Yes, the documentation, slides, graph, etc will follow. I wanted to make sure the proposed CI flow makes sense first. I don't think the docs in the
Agree, to discuss where. |
Oh, I see... Let's keep it as is for the moment and take a moment to do some brainstorming before merging and see if we come up with something very intuitive.
Yes, I meant to make it easier to review this kind of PR, just some basics of what you are trying to teach for each step would be very helpful when reviewing at least. |
Great job @memsharded |
I like the simpleplot idea, but I would keep mathlib that is a typical one for this kind of applications |
No description provided.