-
Notifications
You must be signed in to change notification settings - Fork 479
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
Fix conda-forge GitHub Action CI by using mambaforge directly and by supporting graphviz >= 3 on Windows #3287
Conversation
Currently the CI is failing on Linux and Windows with a weird conflict error. This is due to the fact that we are install mamba (from the conda-forge channel) on the top of miniconda3 (that by default install all the packages from the defaults channel). To make an analogy in apt world, this is like installing Debian, and then trying to install packages from the Ubuntu repo: something can go wrong. To solve this problem, we install [mambaforge](https://github.com/conda-forge/miniforge) (a installer like miniconda3 but already using conda-forge packages) directly, so we always and only use packages from the conda-forge channel. Similar to: * robotology/robotology-superbuild#840 * robotology/robometry#141 * robotology/yarp-devices-ros2#44 * gazebosim/gazebo-classic#3287
macOS is failing with:
|
This is because I never merged #3270 . -_- |
Actually, the problem is that for some reason on macos graphviz 4 is installed, while graphviz 7 is available. |
4f0c513
to
eea77c2
Compare
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.
looks good! feel free to merge
🦟 Bug fix
Fix conda-forge CI.
Summary
The fix is composed by two unrelated changes
Fix conda-forge GitHub Action CI by using mambaforge directly
Currently the CI is failing on Linux and Windows with a weird conflict error. This is due to the fact that we are install mamba (from the conda-forge channel) on the top of miniconda3 (that by default install all the packages from the defaults channel). To make an analogy in apt world, this is like installing Debian, and then trying to install packages from the Ubuntu repo: something can go wrong.
To solve this problem, we install mambaforge (a installer like miniconda3 but already using conda-forge packages) directly, so we always and only use packages from the conda-forge channel.
Similar to:
Add support to use graphviz >= 3 on Windows
Since graphviz 3, any downstream library that on Windows links against a graphviz shared library needs to define the
GVDLL
preprocessor definition (see https://gitlab.com/graphviz/graphviz/-/blob/3.0.0/CHANGELOG.md#changed).To deal with this, this PR adds the
GVDLL
definition forgazebo_gui
when on Windows (on graphviz < 3 defining this definition will be harmless). As that prepocessor definition should not be set when linking static graphviz, and given that we can't detect inFindGraphviz
if the linked graphviz is static or not, an ad-hoc CMake variableGAZEBO_FINDGRAPHVIZ_USE_STATIC_GRAPHVIZ
is introduced in the case this definition needs to be disabled.Similar to robotology/ycm-cmake-modules#414 .
Checklist
codecheck
passed (See contributing)Note to maintainers: Remember to use Squash-Merge and edit the commit message to match the pull request summary while retaining
Signed-off-by
messages.