robotology / human-dynamics-estimation

Software repository for estimating human dynamics
BSD 3-Clause "New" or "Revised" License
78 stars 28 forks source link

Change Macos CI to mamba #371

Closed lrapetti closed 8 months ago

lrapetti commented 8 months ago

As discussed in https://github.com/robotology/human-dynamics-estimation/issues/354

lrapetti commented 8 months ago

CI is still failing since it is installing an old version of idyntree in MacOS CI.

This is what I see for MacOS (see here ):

Transaction

    Prefix: /Users/runner/micromamba/envs/human-dynamics-estimation

    Updating specs:

     - cmake
     - compilers
     - make
     - ninja
     - pkg-config
     - yarp
     - icub-main
     - wearables
     - idyntree
     - matio-cpp
     - robometry
     - osqp-eigen

    Package                               Version  Build                  Channel          Size
  ───────────────────────────────────────────────────────────────────────────────────────────────
    Install:
  ───────────────────────────────────────────────────────────────────────────────────────────────
  ...
    + idyntree                              5.3.0  py39hbafad0e_0         conda-forge       3MB

while on Windwos CI (see here ), we have the following

Transaction

    Prefix: C:\Users\runneradmin\micromamba\envs\human-dynamics-estimation

    Updating specs:

     - cmake
     - compilers
     - make
     - ninja
     - pkg-config
     - yarp
     - icub-main
     - wearables
     - idyntree
     - matio-cpp
     - robometry
     - osqp-eigen

    Package                                 Version  Build               Channel          Size
  ----------------------------------------------------------------------------------------------
    Install:
  ----------------------------------------------------------------------------------------------
  ...
+ idyntree                                8.1.0  py310h666c5ba_0     conda-forge       7MB
lrapetti commented 8 months ago

@traversaro do you have any suggestion?

lrapetti commented 8 months ago

As suggested by @CarlottaSartore the problem could be related to channel priority. conda-forge channel should be used for iDynTree

CarlottaSartore commented 8 months ago

@lrapetti bt looking at the output you attached both OS download from 'conda-forges' so I do not think is due to outdated version in robotology super build channel

lrapetti commented 8 months ago

As suggested by @CarlottaSartore the problem could be related to channel priority. conda-forge channel should be used for iDynTree

You're right! Then the issue should be something else!

lrapetti commented 8 months ago

The name of the package on conda-forge is librobometry, not robometry

Thanks I have changed it in https://github.com/robotology/human-dynamics-estimation/pull/371/commits/af89f6f3d2c535af7a2e6debe21b64210b9a924f

traversaro commented 8 months ago

The name of the package on conda-forge is librobometry, not robometry

Thanks I have changed it in af89f6f

To avoid this kind of issue in the future I opened https://github.com/conda-forge/librobometry-feedstock/pull/13 .

traversaro commented 8 months ago

mac and win fail with:

-- Could NOT find Boost (missing: Boost_INCLUDE_DIR) 
CMake Warning at devices/HumanLogger/CMakeLists.txt:5 (find_package):
  Found package configuration file:

    C:/Users/runneradmin/micromamba/envs/human-dynamics-estimation/Library/lib/cmake/robometry/robometryConfig.cmake

  but it set robometry_FOUND to FALSE so package "robometry" is considered to
  be NOT FOUND.  Reason given by package:

  robometry could not be found because dependency Boost could not be found.

--  [x] Plugin: human_logger (ENABLE_human_logger)

I suspect this is a robometry regression, related to https://github.com/conda-forge/librobometry-feedstock/pull/12 .

lrapetti commented 8 months ago

mac and win fail with:

-- Could NOT find Boost (missing: Boost_INCLUDE_DIR) 
CMake Warning at devices/HumanLogger/CMakeLists.txt:5 (find_package):
  Found package configuration file:

    C:/Users/runneradmin/micromamba/envs/human-dynamics-estimation/Library/lib/cmake/robometry/robometryConfig.cmake

  but it set robometry_FOUND to FALSE so package "robometry" is considered to
  be NOT FOUND.  Reason given by package:

  robometry could not be found because dependency Boost could not be found.

--  [x] Plugin: human_logger (ENABLE_human_logger)

I suspect this is a robometry regression, related to conda-forge/librobometry-feedstock#12 .

This failure was not happening before the change in matio-cpp (https://github.com/robotology/human-dynamics-estimation/pull/371/commits/2651f45844b0af074036e41511e92ec1894ff4cf)

traversaro commented 8 months ago

This failure was not happening before the change in matio-cpp (2651f45)

Probably in that case by chance the boost packages were installed, and so it was working by chance.

traversaro commented 8 months ago

This failure was not happening before the change in matio-cpp (2651f45)

I think this was happening as an old version of robometry was installed due to some dependency.

traversaro commented 8 months ago

Sorry, this is still failing as I forgot to bump the build number in https://github.com/conda-forge/librobometry-feedstock/pull/14, this will be fixed by https://github.com/conda-forge/librobometry-feedstock/pull/15 .

lrapetti commented 8 months ago

CI is now working, thanks @traversaro, we can merge it!