From 1defe0554bd06a7fc64d6001188f1842c3efb746 Mon Sep 17 00:00:00 2001 From: Silvio Traversaro Date: Fri, 6 Sep 2024 15:10:40 +0200 Subject: [PATCH 01/31] Only try to build robotology-distro-all metapackage once we already uploaded all the other packages (#1705) --- .../workflows/generate-conda-packages.yaml | 25 +++++++++++++++++-- 1 file changed, 23 insertions(+), 2 deletions(-) diff --git a/.github/workflows/generate-conda-packages.yaml b/.github/workflows/generate-conda-packages.yaml index 5a6edca42..8ecd4c9a0 100644 --- a/.github/workflows/generate-conda-packages.yaml +++ b/.github/workflows/generate-conda-packages.yaml @@ -206,7 +206,7 @@ jobs: rm -rf blocktest conda mambabuild -m ${CONDA_PREFIX}/conda_build_config.yaml -m ${GITHUB_WORKSPACE}/conda/conda_build_config.yml . - - name: Build conda metapackages (if necessary) + - name: Build robotology-distro conda metapackage (if necessary) if: github.event_name == 'release' || (github.event_name == 'workflow_dispatch' && github.event.inputs.test_metapackages_generation == 'true') shell: bash -l {0} run: | @@ -214,7 +214,6 @@ jobs: # Debug generated recipes cat */meta.yaml conda mambabuild -m ${CONDA_PREFIX}/conda_build_config.yaml -m ${GITHUB_WORKSPACE}/conda/conda_build_config.yml -c local -c conda-forge -c robotology robotology-distro - conda mambabuild -m ${CONDA_PREFIX}/conda_build_config.yaml -m ${GITHUB_WORKSPACE}/conda/conda_build_config.yml -c local -c conda-forge -c robotology robotology-distro-all - name: Upload conda packages shell: bash -l {0} @@ -239,6 +238,28 @@ jobs: ls *.tar.bz2 anaconda upload --skip-existing *.tar.bz2 + - name: Build robotology-distro-all conda metapackage (if necessary) + if: github.event_name == 'release' || (github.event_name == 'workflow_dispatch' && github.event.inputs.test_metapackages_generation == 'true') + shell: bash -l {0} + run: | + cd build/conda/generated_recipes_metapackages + # Debug generated recipes + cat */meta.yaml + conda mambabuild -m ${CONDA_PREFIX}/conda_build_config.yaml -m ${GITHUB_WORKSPACE}/conda/conda_build_config.yml -c local -c conda-forge -c robotology robotology-distro-all + + - name: Upload robotology-distro-all metapackage + shell: bash -l {0} + # Upload by default on schedule events, and on workflow dispatch only if input upload_conda_binaries is 'true' + if: github.event_name == 'release' || (github.event_name == 'workflow_dispatch' && github.event.inputs.test_metapackages_generation == 'true' && github.event.inputs.upload_conda_binaries == 'true') + env: + ANACONDA_API_TOKEN: ${{ secrets.ANACONDA_API_TOKEN }} + run: | + cd ${CONDA_BLD_PATH}/${{ matrix.conda_platform}}/ + ls robotology-distro-all-*.tar.bz2 + anaconda upload --skip-existing robotology-distro-all-*.tar.bz2 + + + # If the generate-conda-packages completed correctly and binaries are uploaded, # bump automatically the CONDA_BUILD_NUMBER in conda/cmake/CondaGenerationOptions.cmake # of master branch for future builds From 7b713c7d751d5599fa1ac83a19e8e5b36dd5a4a2 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Fri, 6 Sep 2024 15:23:21 +0200 Subject: [PATCH 02/31] Automatic update of latest releases versions (#1704) Co-authored-by: traversaro <1857049+traversaro@users.noreply.github.com> --- releases/latest.releases.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/releases/latest.releases.yaml b/releases/latest.releases.yaml index c8b865492..1f5662520 100644 --- a/releases/latest.releases.yaml +++ b/releases/latest.releases.yaml @@ -26,7 +26,7 @@ repositories: YCM: type: git url: https://github.com/robotology/ycm.git - version: v0.16.8 + version: v0.16.9 YARP: type: git url: https://github.com/robotology/yarp.git @@ -50,7 +50,7 @@ repositories: icub-models: type: git url: https://github.com/robotology/icub-models.git - version: v2.6.0 + version: v2.7.0 ergocub-software: type: git url: https://github.com/icub-tech-iit/ergocub-software.git From 34dca77a2c446e86ef4da639ff3afa98c27f335a Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Fri, 6 Sep 2024 15:51:01 +0200 Subject: [PATCH 03/31] Automatic update of latest releases versions (#1706) Co-authored-by: traversaro <1857049+traversaro@users.noreply.github.com> --- releases/latest.releases.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/releases/latest.releases.yaml b/releases/latest.releases.yaml index 1f5662520..a3f6b1141 100644 --- a/releases/latest.releases.yaml +++ b/releases/latest.releases.yaml @@ -126,7 +126,7 @@ repositories: HumanDynamicsEstimation: type: git url: https://github.com/robotology/human-dynamics-estimation.git - version: v3.0.0 + version: v3.1.0 human-gazebo: type: git url: https://github.com/robotology/human-gazebo.git From 49c1379a3b8d14076338d32e88be8e0f250b11d8 Mon Sep 17 00:00:00 2001 From: GitHub Actions Date: Fri, 6 Sep 2024 14:22:18 +0000 Subject: [PATCH 04/31] Copying latest.releases.yaml to 2024.08.0.yaml --- releases/2024.08.0.yaml | 281 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 281 insertions(+) create mode 100644 releases/2024.08.0.yaml diff --git a/releases/2024.08.0.yaml b/releases/2024.08.0.yaml new file mode 100644 index 000000000..a3f6b1141 --- /dev/null +++ b/releases/2024.08.0.yaml @@ -0,0 +1,281 @@ +repositories: + qpOASES: + type: git + url: https://github.com/robotology-dependencies/qpOASES.git + version: v3.2.0.1 + osqp: + type: git + url: https://github.com/robotology-dependencies/osqp.git + version: v0.6.3.1 + manif: + type: git + url: https://github.com/artivis/manif.git + version: 0.0.5 + qhull: + type: git + url: https://github.com/qhull/qhull.git + version: 2020.2 + CppAD: + type: git + url: https://github.com/coin-or/CppAD.git + version: 20240000.4 + casadi: + type: git + url: https://github.com/casadi/casadi.git + version: 3.6.5 + YCM: + type: git + url: https://github.com/robotology/ycm.git + version: v0.16.9 + YARP: + type: git + url: https://github.com/robotology/yarp.git + version: v3.9.0 + ICUB: + type: git + url: https://github.com/robotology/icub-main.git + version: v2.6.3 + ICUBcontrib: + type: git + url: https://github.com/robotology/icub-contrib-common.git + version: v1.19.0 + robots-configuration: + type: git + url: https://github.com/robotology/robots-configuration.git + version: v2.6.3 + GazeboYARPPlugins: + type: git + url: https://github.com/robotology/gazebo-yarp-plugins.git + version: v4.11.2 + icub-models: + type: git + url: https://github.com/robotology/icub-models.git + version: v2.7.0 + ergocub-software: + type: git + url: https://github.com/icub-tech-iit/ergocub-software.git + version: v0.7.5 + yarp-matlab-bindings: + type: git + url: https://github.com/robotology/yarp-matlab-bindings.git + version: v3.9.1 + RobotTestingFramework: + type: git + url: https://github.com/robotology/robot-testing-framework.git + version: v2.0.1 + icub-tests: + type: git + url: https://github.com/robotology/icub-tests.git + version: v1.27.0 + blocktestcore: + type: git + url: https://github.com/robotology/blocktest.git + version: v2.3.8 + blocktest-yarp-plugins: + type: git + url: https://github.com/robotology/blocktest-yarp-plugins.git + version: v1.1.5 + iDynTree: + type: git + url: https://github.com/robotology/idyntree.git + version: v12.4.0 + BlockFactory: + type: git + url: https://github.com/robotology/blockfactory.git + version: v0.8.5 + WBToolbox: + type: git + url: https://github.com/robotology/wb-toolbox.git + version: v5.6.1 + OsqpEigen: + type: git + url: https://github.com/robotology/osqp-eigen.git + version: v0.8.1 + UnicyclePlanner: + type: git + url: https://github.com/robotology/unicycle-footstep-planner.git + version: v0.8.0 + walking-controllers: + type: git + url: https://github.com/robotology/walking-controllers.git + version: v0.8.0 + icub-gazebo-wholebody: + type: git + url: https://github.com/robotology/icub-gazebo-wholebody.git + version: v0.1.0 + whole-body-controllers: + type: git + url: https://github.com/robotology/whole-body-controllers.git + version: v2.5.6 + whole-body-estimators: + type: git + url: https://github.com/robotology/whole-body-estimators.git + version: v0.11.2 + walking-teleoperation: + type: git + url: https://github.com/robotology/walking-teleoperation.git + version: v1.3.4 + yarp-devices-forcetorque: + type: git + url: https://github.com/robotology/yarp-devices-forcetorque.git + version: v0.3.1 + wearables: + type: git + url: https://github.com/robotology/wearables.git + version: v1.9.0 + HumanDynamicsEstimation: + type: git + url: https://github.com/robotology/human-dynamics-estimation.git + version: v3.1.0 + human-gazebo: + type: git + url: https://github.com/robotology/human-gazebo.git + version: v1.1.0 + icub_firmware_shared: + type: git + url: https://github.com/robotology/icub-firmware-shared.git + version: v1.40.0 + icub-firmware: + type: git + url: https://github.com/robotology/icub-firmware.git + version: v1.40.0 + icub-firmware-build: + type: git + url: https://github.com/robotology/icub-firmware-build.git + version: v1.40.0 + icub-firmware-models: + type: git + url: https://github.com/robotology/icub-firmware-models.git + version: v1.39.0 + yarp-device-xsensmt: + type: git + url: https://github.com/robotology/yarp-device-xsensmt.git + version: v0.3.0 + yarp-device-ovrheadset: + type: git + url: https://github.com/robotology/yarp-device-ovrheadset.git + version: v1.0.0 + speech: + type: git + url: https://github.com/robotology/speech.git + version: v1.2.0 + icub-basic-demos: + type: git + url: https://github.com/robotology/icub-basic-demos.git + version: v1.25.0 + funny-things: + type: git + url: https://github.com/robotology/funny-things.git + version: v2.2.0 + bipedal-locomotion-framework: + type: git + url: https://github.com/ami-iit/bipedal-locomotion-framework.git + version: v0.18.0 + LieGroupControllers: + type: git + url: https://github.com/ami-iit/lie-group-controllers.git + version: v0.2.0 + event-driven: + type: git + url: https://github.com/robotology/event-driven.git + version: v2.1 + matioCpp: + type: git + url: https://github.com/ami-iit/matio-cpp.git + version: v0.2.5 + osqp-matlab: + type: git + url: https://github.com/ami-iit/osqp-matlab-cmake-buildsystem.git + version: v0.6.2.4 + robometry: + type: git + url: https://github.com/robotology/robometry.git + version: v1.2.4 + gym-ignition: + type: git + url: https://github.com/robotology/gym-ignition.git + version: v1.3.1 + matlab-whole-body-simulator: + type: git + url: https://github.com/ami-iit/matlab-whole-body-simulator.git + version: v3.3.0 + casadi-matlab-bindings: + type: git + url: https://github.com/ami-iit/casadi-matlab-bindings.git + version: v3.6.5.0 + idyntree-yarp-tools: + type: git + url: https://github.com/robotology/idyntree-yarp-tools.git + version: v0.0.9 + pyqtconsole: + type: git + url: https://github.com/pyqtconsole/pyqtconsole.git + version: v1.2.3 + pyngrok: + type: git + url: https://github.com/alexdlaird/pyngrok.git + version: 7.2.0 + meshcat-python: + type: git + url: https://github.com/rdeits/meshcat-python.git + version: v0.3.2 + robot-log-visualizer: + type: git + url: https://github.com/ami-iit/robot-log-visualizer.git + version: v0.8.0 + OpenXR: + type: git + url: https://github.com/KhronosGroup/OpenXR-SDK.git + version: release-1.1.40 + OpenVR: + type: git + url: https://github.com/ami-iit/openvr.git + version: v1.16.8.1 + yarp-device-openxrheadset: + type: git + url: https://github.com/ami-iit/yarp-device-openxrheadset.git + version: v0.0.4 + yarp-openvr-trackers: + type: git + url: https://github.com/ami-iit/yarp-openvr-trackers.git + version: v0.0.1 + find-superquadric: + type: git + url: https://github.com/robotology/find-superquadric.git + version: v1.1.1 + tomlplusplus: + type: git + url: https://github.com/marzer/tomlplusplus.git + version: v3.4.0 + proxsuite: + type: git + url: https://github.com/Simple-Robotics/proxsuite.git + version: v0.6.4 + BayesFilters: + type: git + url: https://github.com/robotology/bayes-filters-lib.git + version: 0.10.0 + mujoco: + type: git + url: https://github.com/ami-iit/mujoco.git + version: 2.3.5.1 + mujoco-simulink-blockset: + type: git + url: https://github.com/ami-iit/mujoco-simulink-blockset-cmake-buildsystem.git + version: v3.0.0 + resolve-robotics-uri-py: + type: git + url: https://github.com/ami-iit/resolve-robotics-uri-py.git + version: v0.3.0 + yarp-devices-ros: + type: git + url: https://github.com/robotology/yarp-devices-ros.git + version: v3.9.0 + yarp-device-keyboard-joypad: + type: git + url: https://github.com/ami-iit/yarp-device-keyboard-joypad.git + version: v0.0.2 + gz-sim-yarp-plugins: + type: git + url: https://github.com/robotology/gz-sim-yarp-plugins.git + version: v0.3.0 From f20f2537367a809df925fe6fa9f52abc77d4a87b Mon Sep 17 00:00:00 2001 From: Silvio Traversaro Date: Sat, 7 Sep 2024 15:03:55 +0200 Subject: [PATCH 05/31] Bump CONDA_BUILD_NUMBER to 123 --- conda/cmake/CondaGenerationOptions.cmake | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/conda/cmake/CondaGenerationOptions.cmake b/conda/cmake/CondaGenerationOptions.cmake index 15d6d9524..bced1717a 100644 --- a/conda/cmake/CondaGenerationOptions.cmake +++ b/conda/cmake/CondaGenerationOptions.cmake @@ -2,7 +2,7 @@ # to ensure that binaries belonging to different rebuilds # can be distinguished even if the version number is the same if(NOT CONDA_BUILD_NUMBER) - set(CONDA_BUILD_NUMBER 122) + set(CONDA_BUILD_NUMBER 123) endif() # This option is enabled only when the metapackages robotology-distro and robotology-distro-all are From bee9a3f630f3be8d3cc07ec06232308952de4aaf Mon Sep 17 00:00:00 2001 From: Silvio Traversaro Date: Sat, 7 Sep 2024 15:04:51 +0200 Subject: [PATCH 06/31] Bump CONDA_BUILD_NUMBER to 130 --- conda/cmake/CondaGenerationOptions.cmake | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/conda/cmake/CondaGenerationOptions.cmake b/conda/cmake/CondaGenerationOptions.cmake index bced1717a..9b9f535db 100644 --- a/conda/cmake/CondaGenerationOptions.cmake +++ b/conda/cmake/CondaGenerationOptions.cmake @@ -2,7 +2,7 @@ # to ensure that binaries belonging to different rebuilds # can be distinguished even if the version number is the same if(NOT CONDA_BUILD_NUMBER) - set(CONDA_BUILD_NUMBER 123) + set(CONDA_BUILD_NUMBER 130) endif() # This option is enabled only when the metapackages robotology-distro and robotology-distro-all are From 95ac373fdcdbeb2ff9659b75fa096c2b77ccdbaa Mon Sep 17 00:00:00 2001 From: Silvio Traversaro Date: Fri, 13 Sep 2024 07:50:54 +0200 Subject: [PATCH 07/31] Bump CONDA_BUILD_NUMBER to 131 --- conda/cmake/CondaGenerationOptions.cmake | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/conda/cmake/CondaGenerationOptions.cmake b/conda/cmake/CondaGenerationOptions.cmake index 9b9f535db..92e4abf1f 100644 --- a/conda/cmake/CondaGenerationOptions.cmake +++ b/conda/cmake/CondaGenerationOptions.cmake @@ -2,7 +2,7 @@ # to ensure that binaries belonging to different rebuilds # can be distinguished even if the version number is the same if(NOT CONDA_BUILD_NUMBER) - set(CONDA_BUILD_NUMBER 130) + set(CONDA_BUILD_NUMBER 131) endif() # This option is enabled only when the metapackages robotology-distro and robotology-distro-all are From df8e0567f194ca410581a8ddc36fa30880c25f3a Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Mon, 16 Sep 2024 15:29:18 +0200 Subject: [PATCH 08/31] Automatic update of latest releases versions (#1710) Co-authored-by: traversaro <1857049+traversaro@users.noreply.github.com> --- releases/latest.releases.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/releases/latest.releases.yaml b/releases/latest.releases.yaml index a3f6b1141..00d6523a1 100644 --- a/releases/latest.releases.yaml +++ b/releases/latest.releases.yaml @@ -170,7 +170,7 @@ repositories: bipedal-locomotion-framework: type: git url: https://github.com/ami-iit/bipedal-locomotion-framework.git - version: v0.18.0 + version: v0.19.0 LieGroupControllers: type: git url: https://github.com/ami-iit/lie-group-controllers.git From 11e616497f58a6fedc301990841eb520faa947b9 Mon Sep 17 00:00:00 2001 From: Silvio Traversaro Date: Mon, 16 Sep 2024 17:22:47 +0200 Subject: [PATCH 09/31] Update casadi to 3.6.6 and stop using ami-iit fork --- cmake/Buildcasadi.cmake | 10 +++------- cmake/ProjectsTagsStable.cmake | 4 ++-- cmake/ProjectsTagsUnstable.cmake | 4 ++-- releases/latest.releases.yaml | 4 ++-- 4 files changed, 9 insertions(+), 13 deletions(-) diff --git a/cmake/Buildcasadi.cmake b/cmake/Buildcasadi.cmake index f832539e8..e18f526fa 100644 --- a/cmake/Buildcasadi.cmake +++ b/cmake/Buildcasadi.cmake @@ -28,8 +28,8 @@ endif() ycm_ep_helper(casadi TYPE GIT STYLE GITHUB - REPOSITORY ami-iit/casadi.git - TAG 3.6.5.backport3724 + REPOSITORY casadi/casadi.git + TAG 3.6.6 COMPONENT external FOLDER src CMAKE_ARGS -DWITH_IPOPT:BOOL=ON @@ -55,8 +55,4 @@ ycm_ep_helper(casadi TYPE GIT set(casadi_CONDA_PKG_NAME casadi) set(casadi_CONDA_PKG_CONDA_FORGE_OVERRIDE ON) -# This is a small hack. To avoid incompatibilities between the version tagged in the ami-iit fork -# and the version available in conda-forge when generating conda metapackages -# such as robotology-distro and robotology-distro-all, we override the conda package version of casadi -# here. This needs to be removed as soon as we stop use our fork in the superbuild -set(casadi_CONDA_VERSION 3.6.5) + diff --git a/cmake/ProjectsTagsStable.cmake b/cmake/ProjectsTagsStable.cmake index 5c1b3b930..4618bc448 100644 --- a/cmake/ProjectsTagsStable.cmake +++ b/cmake/ProjectsTagsStable.cmake @@ -11,8 +11,8 @@ set_tag(manif_TAG 0.0.5) set_tag(qhull_TAG 2020.2) set_tag(CppAD_TAG 20240000.2) set_tag(proxsuite_TAG v0.6.4) -set_tag(casadi_TAG 3.6.5.backport3724) -set_tag(casadi-matlab-bindings_TAG v3.6.5.0) +set_tag(casadi_TAG 3.6.6) +set_tag(casadi-matlab-bindings_TAG v3.6.6.0) # Robotology projects set_tag(YCM_TAG master) diff --git a/cmake/ProjectsTagsUnstable.cmake b/cmake/ProjectsTagsUnstable.cmake index e61654d32..98f7408ee 100644 --- a/cmake/ProjectsTagsUnstable.cmake +++ b/cmake/ProjectsTagsUnstable.cmake @@ -11,8 +11,8 @@ set_tag(manif_TAG 0.0.5) set_tag(qhull_TAG 2020.2) set_tag(CppAD_TAG 20240000.2) set_tag(proxsuite_TAG v0.6.4) -set_tag(casadi_TAG 3.6.5.backport3724) -set_tag(casadi-matlab-bindings_TAG v3.6.5.0) +set_tag(casadi_TAG 3.6.6) +set_tag(casadi-matlab-bindings_TAG v3.6.6) # Robotology projects set_tag(YARP_TAG yarp-3.9) diff --git a/releases/latest.releases.yaml b/releases/latest.releases.yaml index 00d6523a1..89da9aa8a 100644 --- a/releases/latest.releases.yaml +++ b/releases/latest.releases.yaml @@ -22,7 +22,7 @@ repositories: casadi: type: git url: https://github.com/casadi/casadi.git - version: 3.6.5 + version: 3.6.6 YCM: type: git url: https://github.com/robotology/ycm.git @@ -202,7 +202,7 @@ repositories: casadi-matlab-bindings: type: git url: https://github.com/ami-iit/casadi-matlab-bindings.git - version: v3.6.5.0 + version: v3.6.6 idyntree-yarp-tools: type: git url: https://github.com/robotology/idyntree-yarp-tools.git From abce468e2f2af4b54196e548ffbb73336c39d6de Mon Sep 17 00:00:00 2001 From: Silvio Traversaro Date: Mon, 16 Sep 2024 17:51:36 +0200 Subject: [PATCH 10/31] Update ProjectsTagsUnstable.cmake --- cmake/ProjectsTagsUnstable.cmake | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cmake/ProjectsTagsUnstable.cmake b/cmake/ProjectsTagsUnstable.cmake index 98f7408ee..3f5758a63 100644 --- a/cmake/ProjectsTagsUnstable.cmake +++ b/cmake/ProjectsTagsUnstable.cmake @@ -12,7 +12,7 @@ set_tag(qhull_TAG 2020.2) set_tag(CppAD_TAG 20240000.2) set_tag(proxsuite_TAG v0.6.4) set_tag(casadi_TAG 3.6.6) -set_tag(casadi-matlab-bindings_TAG v3.6.6) +set_tag(casadi-matlab-bindings_TAG v3.6.6.0) # Robotology projects set_tag(YARP_TAG yarp-3.9) From 4855225180c5e425f00db5ec739d4e1c809082f5 Mon Sep 17 00:00:00 2001 From: Silvio Traversaro Date: Mon, 16 Sep 2024 21:50:00 +0200 Subject: [PATCH 11/31] pixi-ci: Remove "-l {0}" that breaks pixi on macos-14 See https://github.com/prefix-dev/setup-pixi/issues/139 for the upstream issue --- .github/workflows/pixi-ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/pixi-ci.yml b/.github/workflows/pixi-ci.yml index f3e75c866..be896b5f9 100644 --- a/.github/workflows/pixi-ci.yml +++ b/.github/workflows/pixi-ci.yml @@ -42,7 +42,7 @@ jobs: - uses: prefix-dev/setup-pixi@v0.8.1 - name: Build - shell: bash -l {0} + shell: bash run: | # Avoid YCM complaining that the git user is not set # Eventually we could consider removing that check in YCM From e17f45b06d5ad14f4f40dea3cccc6f4c60faf267 Mon Sep 17 00:00:00 2001 From: Silvio Traversaro Date: Tue, 17 Sep 2024 00:01:25 +0200 Subject: [PATCH 12/31] Fix casadi-matlab-bindings tag in latest.releases.yaml --- releases/latest.releases.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/releases/latest.releases.yaml b/releases/latest.releases.yaml index 89da9aa8a..b0be63197 100644 --- a/releases/latest.releases.yaml +++ b/releases/latest.releases.yaml @@ -202,7 +202,7 @@ repositories: casadi-matlab-bindings: type: git url: https://github.com/ami-iit/casadi-matlab-bindings.git - version: v3.6.6 + version: v3.6.6.0 idyntree-yarp-tools: type: git url: https://github.com/robotology/idyntree-yarp-tools.git From 1d4c4b86dcc0559e13536ef4e886ab5c50aae0a3 Mon Sep 17 00:00:00 2001 From: Silvio Traversaro Date: Wed, 18 Sep 2024 16:54:04 +0200 Subject: [PATCH 13/31] Document the new prefix.dev robotology channel mirror --- doc/conda-forge.md | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) diff --git a/doc/conda-forge.md b/doc/conda-forge.md index 691a587fe..e8b2b48a9 100644 --- a/doc/conda-forge.md +++ b/doc/conda-forge.md @@ -14,7 +14,7 @@ For an overview of advantages and disadvantages of conda and conda-forge, check This section describes how to install the binary packages built from the `robotology-superbuild` on conda on Windows, macOS and Linux. -Depending on the speficic package, the binary packages are hosted either in [`conda-forge`](https://anaconda.org/conda-forge) or [`robotology`](https://anaconda.org/robotology). Only packages that are built as part of the profiles and options that are supported on Conda (see [documentation on CMake options](cmake-options.md)) are available as conda binary packages. +Depending on the speficic package, the binary packages are hosted either in [`conda-forge`](https://prefix.dev/channels/conda-forge) or [`robotology`](https://prefix.dev/channels/robotology) channels. Only packages that are built as part of the profiles and options that are supported on Conda (see [documentation on CMake options](cmake-options.md)) are available as conda binary packages. The following conda platforms are supported by all packages of the robotology-superbuild: @@ -63,24 +63,24 @@ conda activate robotologyenv Once you are in an activated environment, you can install robotology packages by just running the command: ~~~ -conda install -c conda-forge -c robotology +conda install -c conda-forge -c https://repo.prefix.dev/robotology ~~~ The list of available packages is available at https://anaconda.org/robotology/repo . For example, if you want to install yarp and icub-main, you simple need to install: ~~~ -conda install -c conda-forge -c robotology yarp icub-main +conda install -c conda-forge -c https://repo.prefix.dev/robotology yarp icub-main ~~~ In addition, if you want to simulate the iCub in Gazebo Classic, you should also install `icub-models` and `gazebo-yarp-plugins`: ~~~ -conda install -c conda-forge -c robotology gazebo-yarp-plugins icub-models +conda install -c conda-forge gazebo-yarp-plugins icub-models ~~~ While if you want to simulate it with Modern Gazebo (gz-sim), you should install `icub-models` and `gz-sim-yarp-plugins`: ~~~ -conda install -c conda-forge -c robotology gz-sim-yarp-plugins icub-models +conda install -c conda-forge gz-sim-yarp-plugins icub-models ~~~ If you want to develop some C++ code on the top of these libraries, it is recommended to also install the necessary compiler and development tools directly in the same environment: @@ -88,6 +88,14 @@ If you want to develop some C++ code on the top of these libraries, it is recomm conda install -c conda-forge compilers cmake pkg-config make ninja ~~~ +### Advanced: robotology channel mirrors + +To ensure redundancy, the `robotology` channel is available on two servers: +* [`prefix.dev`](https://prefix.dev/channels/robotology) +* [`anaconda.org`](https://anaconda.org/robotology/) + +The full history of packages is available on the prefix.dev mirror, so if you aim for reproducibility, try to use the prefix.dev mirror by specifying the channel via `-c https://repo.prefix.dev/robotology`. On the anaconda.org, some packages built before 1st of July 2022 are not available, so if you only care for the latest packages, you can also install packages by simply passing `-c robotology` to conda. + ## Source installation This section describes how to compile and install the robotology-superbuild with conda-forge provided dependencies on Windows, macOS and Linux. From 94869434badf92f071d7a12f0fd1d0633649e4c6 Mon Sep 17 00:00:00 2001 From: Silvio Traversaro Date: Wed, 18 Sep 2024 17:10:24 +0200 Subject: [PATCH 14/31] Upload conda packages for robotology channel on both anaconda.org and prefix.dev --- .../workflows/generate-conda-packages.yaml | 19 ++++++++++++++++++- doc/conda-forge.md | 2 +- 2 files changed, 19 insertions(+), 2 deletions(-) diff --git a/.github/workflows/generate-conda-packages.yaml b/.github/workflows/generate-conda-packages.yaml index 8ecd4c9a0..fe89b786b 100644 --- a/.github/workflows/generate-conda-packages.yaml +++ b/.github/workflows/generate-conda-packages.yaml @@ -221,10 +221,16 @@ jobs: if: github.event_name == 'schedule' || github.event_name == 'release' || (github.event_name == 'workflow_dispatch' && github.event.inputs.upload_conda_binaries == 'true') env: ANACONDA_API_TOKEN: ${{ secrets.ANACONDA_API_TOKEN }} + PREFIX_DEV_TOKEN: ${{ secrets.PREFIX_DEV_TOKEN }} run: | cd ${CONDA_BLD_PATH}/${{ matrix.conda_platform}}/ ls *.tar.bz2 anaconda upload --skip-existing *.tar.bz2 + pixi auth login https://prefix.dev --token $PREFIX_DEV_TOKEN + for condapackage in *.tar.bz2; do + pixi upload https://prefix.dev/api/v1/upload/robotology "$condapackage" + done + pixi auth logout https://prefix.dev # Only on linux-64 we upload noarch packages (noarch packages need to be uploaded only once, as they can be reused across platforms) - name: Upload conda packages (noarch) @@ -233,10 +239,16 @@ jobs: if: matrix.conda_platform == 'linux-64' && (github.event_name == 'schedule' || github.event_name == 'release' || (github.event_name == 'workflow_dispatch' && github.event.inputs.upload_conda_binaries == 'true')) env: ANACONDA_API_TOKEN: ${{ secrets.ANACONDA_API_TOKEN }} + PREFIX_DEV_TOKEN: ${{ secrets.PREFIX_DEV_TOKEN }} run: | cd ${CONDA_BLD_PATH}/noarch/ ls *.tar.bz2 anaconda upload --skip-existing *.tar.bz2 + pixi auth login https://prefix.dev --token $PREFIX_DEV_TOKEN + for condapackage in *.tar.bz2; do + pixi upload https://prefix.dev/api/v1/upload/robotology "$condapackage" + done + pixi auth logout https://prefix.dev - name: Build robotology-distro-all conda metapackage (if necessary) if: github.event_name == 'release' || (github.event_name == 'workflow_dispatch' && github.event.inputs.test_metapackages_generation == 'true') @@ -253,11 +265,16 @@ jobs: if: github.event_name == 'release' || (github.event_name == 'workflow_dispatch' && github.event.inputs.test_metapackages_generation == 'true' && github.event.inputs.upload_conda_binaries == 'true') env: ANACONDA_API_TOKEN: ${{ secrets.ANACONDA_API_TOKEN }} + PREFIX_DEV_TOKEN: ${{ secrets.PREFIX_DEV_TOKEN }} run: | cd ${CONDA_BLD_PATH}/${{ matrix.conda_platform}}/ ls robotology-distro-all-*.tar.bz2 anaconda upload --skip-existing robotology-distro-all-*.tar.bz2 - + pixi auth login https://prefix.dev --token $PREFIX_DEV_TOKEN + for condapackage in robotology-distro-all-*.tar.bz2; do + pixi upload https://prefix.dev/api/v1/upload/robotology "$condapackage" + done + pixi auth logout https://prefix.dev # If the generate-conda-packages completed correctly and binaries are uploaded, diff --git a/doc/conda-forge.md b/doc/conda-forge.md index e8b2b48a9..1cb749a4f 100644 --- a/doc/conda-forge.md +++ b/doc/conda-forge.md @@ -94,7 +94,7 @@ To ensure redundancy, the `robotology` channel is available on two servers: * [`prefix.dev`](https://prefix.dev/channels/robotology) * [`anaconda.org`](https://anaconda.org/robotology/) -The full history of packages is available on the prefix.dev mirror, so if you aim for reproducibility, try to use the prefix.dev mirror by specifying the channel via `-c https://repo.prefix.dev/robotology`. On the anaconda.org, some packages built before 1st of July 2022 are not available, so if you only care for the latest packages, you can also install packages by simply passing `-c robotology` to conda. +The full history of packages is available on the prefix.dev mirror, so if you aim for reproducibility, try to use the prefix.dev mirror by specifying the channel via `-c https://repo.prefix.dev/robotology`. On the anaconda.org, some packages built before 1st of January 2023 are not available, so if you only care for the latest packages, you can also install packages by simply passing `-c robotology` to conda. ## Source installation From b4f51b3949f384351c5f34f2fe32fca1fe388193 Mon Sep 17 00:00:00 2001 From: Silvio Traversaro Date: Wed, 18 Sep 2024 17:16:09 +0200 Subject: [PATCH 15/31] Bump CONDA_BUILD_NUMBER to 132 --- conda/cmake/CondaGenerationOptions.cmake | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/conda/cmake/CondaGenerationOptions.cmake b/conda/cmake/CondaGenerationOptions.cmake index 92e4abf1f..76f7ba16e 100644 --- a/conda/cmake/CondaGenerationOptions.cmake +++ b/conda/cmake/CondaGenerationOptions.cmake @@ -2,7 +2,7 @@ # to ensure that binaries belonging to different rebuilds # can be distinguished even if the version number is the same if(NOT CONDA_BUILD_NUMBER) - set(CONDA_BUILD_NUMBER 131) + set(CONDA_BUILD_NUMBER 132) endif() # This option is enabled only when the metapackages robotology-distro and robotology-distro-all are From 614f1c97565b275329368b16cc4d1c6ccf3288b7 Mon Sep 17 00:00:00 2001 From: traversaro <1857049+traversaro@users.noreply.github.com> Date: Sun, 22 Sep 2024 00:14:01 +0000 Subject: [PATCH 16/31] Automatic update of latest releases versions --- releases/latest.releases.yaml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/releases/latest.releases.yaml b/releases/latest.releases.yaml index b0be63197..03bdfc425 100644 --- a/releases/latest.releases.yaml +++ b/releases/latest.releases.yaml @@ -46,11 +46,11 @@ repositories: GazeboYARPPlugins: type: git url: https://github.com/robotology/gazebo-yarp-plugins.git - version: v4.11.2 + version: v4.12.0 icub-models: type: git url: https://github.com/robotology/icub-models.git - version: v2.7.0 + version: v2.8.0 ergocub-software: type: git url: https://github.com/icub-tech-iit/ergocub-software.git @@ -78,7 +78,7 @@ repositories: iDynTree: type: git url: https://github.com/robotology/idyntree.git - version: v12.4.0 + version: v13.0.0 BlockFactory: type: git url: https://github.com/robotology/blockfactory.git @@ -126,7 +126,7 @@ repositories: HumanDynamicsEstimation: type: git url: https://github.com/robotology/human-dynamics-estimation.git - version: v3.1.0 + version: v3.1.1 human-gazebo: type: git url: https://github.com/robotology/human-gazebo.git From ec735da5aa86aae43a650ccb8937c192852ede6b Mon Sep 17 00:00:00 2001 From: Giovanni Fregonese Date: Wed, 25 Sep 2024 14:01:30 +0200 Subject: [PATCH 17/31] Fix python dll snippet --- doc/cmake-options.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/cmake-options.md b/doc/cmake-options.md index f951a47b5..3cb4d93f7 100644 --- a/doc/cmake-options.md +++ b/doc/cmake-options.md @@ -372,7 +372,7 @@ Furthermore, due to Python ignoring the directories in `PATH`, before running py ~~~python import os -os.add_dll_directory(os.path.join(os.environ['ROBOTOLOGY_SUPERBUILD_INSTALL_PREFIX'], bin)) +os.add_dll_directory(os.path.join(os.environ['ROBOTOLOGY_SUPERBUILD_INSTALL_PREFIX'], 'bin')) ~~~ see https://github.com/robotology/robotology-superbuild/issues/1268 for more details. From e636a2152f52f36ede805fa5075f0cf15dc8e7fc Mon Sep 17 00:00:00 2001 From: Silvio Traversaro Date: Wed, 25 Sep 2024 15:13:07 +0200 Subject: [PATCH 18/31] Update faqs on pytorch compatibility on Windows avoiding to uninstall openmp --- doc/faqs.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/doc/faqs.md b/doc/faqs.md index 86ad2649c..5d0d30495 100644 --- a/doc/faqs.md +++ b/doc/faqs.md @@ -91,11 +91,11 @@ If you are on Windows and you obtain an error message like: OSError: [WinError 182] The operating system cannot run %1. Error loading "D:\miniforge\envs\robsub\Lib\site-packages\torch\lib\fbgemm.dll" or one of its dependencies. ~~~ -when trying to load `import torch`, then probably you have both `openmp` and `intel-openmp` installed in your conda environment. To fix your pytorch installation, just run: +when trying to load `import torch`, then probably you have both `openmp` and `intel-openmp` installed in your conda environment, and they both install files with the same name. +To fix your pytorch installation you need to ensure that the files from `intel-openmp` are used, to do so you can run: ~~~ -conda uninstall openmp -conda install intel-openmp --forge-reinstall +conda install intel-openmp --force-reinstall ~~~ -Note that this procedure can create problem when installing ipopt-related software. This will be probably be solved once conda-forge migrates to a modern fortran compiler on Windows, see https://github.com/conda-forge/conda-forge-pinning-feedstock/pull/1359 for more infomation. +This will be probably be solved once conda-forge migrates to a modern fortran compiler on Windows, see https://github.com/conda-forge/conda-forge-pinning-feedstock/pull/1359 for more infomation. From f97babfb895279af185fb424bd229ebe8decc217 Mon Sep 17 00:00:00 2001 From: Silvio Traversaro Date: Wed, 25 Sep 2024 15:54:45 +0200 Subject: [PATCH 19/31] Cleanup Python snippet required to run Python bindings on Windows (#1723) --- doc/cmake-options.md | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/doc/cmake-options.md b/doc/cmake-options.md index 3cb4d93f7..af3163fd5 100644 --- a/doc/cmake-options.md +++ b/doc/cmake-options.md @@ -372,7 +372,11 @@ Furthermore, due to Python ignoring the directories in `PATH`, before running py ~~~python import os -os.add_dll_directory(os.path.join(os.environ['ROBOTOLOGY_SUPERBUILD_INSTALL_PREFIX'], 'bin')) + +if os.name == "nt": + superbuild_dll_path = os.path.join(os.environ.get('ROBOTOLOGY_SUPERBUILD_INSTALL_PREFIX',""), 'bin') + if (os.exists(superbuild_dll_path)): + os.add_dll_directory(superbuild_dll_path) ~~~ see https://github.com/robotology/robotology-superbuild/issues/1268 for more details. From 322615510eb1b122bd3d95864b7c382b65a3c9b1 Mon Sep 17 00:00:00 2001 From: Silvio Traversaro Date: Wed, 25 Sep 2024 16:08:02 +0200 Subject: [PATCH 20/31] Merge wearables in human-dynamics-estimation (#1720) * Merge wearables in human-dynamics-estimation * Bump latest.releases.yaml to HDE 4.0.0 * Update BuildHumanDynamicsEstimation.cmake --- .../workflows/generate-conda-packages.yaml | 2 - cmake/BuildHumanDynamicsEstimation.cmake | 12 ++++-- cmake/Buildwearables.cmake | 38 ------------------- cmake/RobotologySuperbuildLogic.cmake | 1 - .../addPathsToUserEnvVariables.ps1.in | 1 - .../removePathsFromUserEnvVariables.ps1.in | 1 - cmake/template/setup.bat.in | 1 - cmake/template/setup.sh.in | 1 - conda/multisheller/wearables_activate.msh | 5 --- conda/multisheller/wearables_deactivate.msh | 5 --- doc/cmake-options.md | 2 +- doc/environment-variables-configuration.md | 3 +- releases/latest.releases.yaml | 6 +-- 13 files changed, 11 insertions(+), 67 deletions(-) delete mode 100644 cmake/Buildwearables.cmake delete mode 100644 conda/multisheller/wearables_activate.msh delete mode 100644 conda/multisheller/wearables_deactivate.msh diff --git a/.github/workflows/generate-conda-packages.yaml b/.github/workflows/generate-conda-packages.yaml index fe89b786b..7e94d21af 100644 --- a/.github/workflows/generate-conda-packages.yaml +++ b/.github/workflows/generate-conda-packages.yaml @@ -187,8 +187,6 @@ jobs: # icub-main needs robotology channel as it also depends on esdcan, and local to avoid that robotology packages are used instead of local built one conda mambabuild -m ${CONDA_PREFIX}/conda_build_config.yaml -m ${GITHUB_WORKSPACE}/conda/conda_build_config.yml -c local -c conda-forge -c robotology icub-main rm -rf icub-main - conda mambabuild -m ${CONDA_PREFIX}/conda_build_config.yaml -m ${GITHUB_WORKSPACE}/conda/conda_build_config.yml wearables - rm -rf wearables # Channels specified explicitly due to https://github.com/robotology/robotology-superbuild/issues/1140 conda mambabuild -m ${CONDA_PREFIX}/conda_build_config.yaml -m ${GITHUB_WORKSPACE}/conda/conda_build_config.yml -c local -c conda-forge human-dynamics-estimation rm -rf human-dynamics-estimation diff --git a/cmake/BuildHumanDynamicsEstimation.cmake b/cmake/BuildHumanDynamicsEstimation.cmake index 58a70cbec..eb6935ae7 100644 --- a/cmake/BuildHumanDynamicsEstimation.cmake +++ b/cmake/BuildHumanDynamicsEstimation.cmake @@ -7,9 +7,13 @@ include(FindOrBuildPackage) find_or_build_package(YARP QUIET) find_or_build_package(ICUB QUIET) find_or_build_package(iDynTree QUIET) -find_or_build_package(wearables QUIET) find_or_build_package(osqp QUIET) find_or_build_package(OsqpEigen QUIET) +find_or_build_package(robometry QUIET) + +if(WIN32) + list(APPEND HDE_CMAKE_ARGS -DXSENS_MVN_USE_SDK:BOOL=${ROBOTOLOGY_USES_XSENS_MVN_SDK} -DENABLE_XsensSuit:BOOL=${ROBOTOLOGY_USES_XSENS_MVN_SDK} ) +endif() ycm_ep_helper(HumanDynamicsEstimation TYPE GIT STYLE GITHUB @@ -17,12 +21,12 @@ ycm_ep_helper(HumanDynamicsEstimation TYPE GIT TAG master COMPONENT human_dynamics FOLDER src - CMAKE_ARGS -DHUMANSTATEPROVIDER_ENABLE_VISUALIZER:BOOL=ON + CMAKE_ARGS -DHUMANSTATEPROVIDER_ENABLE_VISUALIZER:BOOL=ON ${HDE_CMAKE_ARGS} DEPENDS iDynTree YARP - wearables osqp OsqpEigen - ICUB) + ICUB + robometry) set(HumanDynamicsEstimation_CONDA_DEPENDENCIES eigen) diff --git a/cmake/Buildwearables.cmake b/cmake/Buildwearables.cmake deleted file mode 100644 index 69a954029..000000000 --- a/cmake/Buildwearables.cmake +++ /dev/null @@ -1,38 +0,0 @@ -# Copyright (C) 2018 iCub Facility, Istituto Italiano di Tecnologia -# CopyPolicy: Released under the terms of the LGPLv2.1 or later, see LGPL.TXT - -include(YCMEPHelper) -include(FindOrBuildPackage) - -find_or_build_package(YARP QUIET) -find_or_build_package(iDynTree QUIET) -find_or_build_package(robometry QUIET) - -set(WEARABLES_CMAKE_ARGS "") -if(WIN32) - list(APPEND WEARABLES_CMAKE_ARGS -DXSENS_MVN_USE_SDK:BOOL=${ROBOTOLOGY_USES_XSENS_MVN_SDK} -DENABLE_XsensSuit:BOOL=${ROBOTOLOGY_USES_XSENS_MVN_SDK} ) -endif() - -list(APPEND WEARABLES_CMAKE_ARGS "-DWEARABLES_COMPILE_PYTHON_BINDINGS:BOOL=${ROBOTOLOGY_USES_PYTHON}") - -if(ROBOTOLOGY_USES_PYTHON AND NOT ROBOTOLOGY_GENERATE_CONDA_RECIPES) - list(APPEND WEARABLES_CMAKE_ARGS "-DWEARABLES_PYTHON_INSTALL_DR=${ROBOTOLOGY_SUPERBUILD_PYTHON_INSTALL_DIR}") -endif() - -ycm_ep_helper(wearables TYPE GIT - STYLE GITHUB - REPOSITORY robotology/wearables.git - TAG master - COMPONENT human_dynamics - FOLDER src - DEPENDS YARP - iDynTree - robometry - CMAKE_ARGS ${WEARABLES_CMAKE_ARGS}) - -if(ROBOTOLOGY_USES_PYTHON) - list(APPEND wearables_CONDA_DEPENDENCIES python) - list(APPEND wearables_CONDA_DEPENDENCIES pybind11) - # https://conda-forge.org/docs/maintainer/knowledge_base.html#pybind11-abi-constraints - list(APPEND wearables_CONDA_DEPENDENCIES pybind11-abi) -endif() diff --git a/cmake/RobotologySuperbuildLogic.cmake b/cmake/RobotologySuperbuildLogic.cmake index 003fa4cd2..30371805c 100644 --- a/cmake/RobotologySuperbuildLogic.cmake +++ b/cmake/RobotologySuperbuildLogic.cmake @@ -146,7 +146,6 @@ endif() # Human Dynamics Estimation if(ROBOTOLOGY_ENABLE_HUMAN_DYNAMICS) find_or_build_package(yarp-devices-forcetorque) - find_or_build_package(wearables) find_or_build_package(HumanDynamicsEstimation) find_or_build_package(human-gazebo) endif() diff --git a/cmake/template/addPathsToUserEnvVariables.ps1.in b/cmake/template/addPathsToUserEnvVariables.ps1.in index 846edf600..57d4b51b2 100644 --- a/cmake/template/addPathsToUserEnvVariables.ps1.in +++ b/cmake/template/addPathsToUserEnvVariables.ps1.in @@ -80,7 +80,6 @@ Add-ValueToUserEnvVariable BLOCKTEST_RESOURCE_PATH $ROBOTOLOGY_SUPERBUILD_INSTAL # ROBOTOLOGY_ENABLE_HUMAN_DYNAMICS-specific lines Add-ValueToUserEnvVariable YARP_DATA_DIRS $ROBOTOLOGY_SUPERBUILD_INSTALL_PREFIX"\share\human-gazebo"; Add-ValueToUserEnvVariable YARP_DATA_DIRS $ROBOTOLOGY_SUPERBUILD_INSTALL_PREFIX"\share\HumanDynamicsEstimation"; -Add-ValueToUserEnvVariable YARP_DATA_DIRS $ROBOTOLOGY_SUPERBUILD_INSTALL_PREFIX"\share\Wearables"; @endcmakeif ROBOTOLOGY_ENABLE_HUMAN_DYNAMICS @cmakeif ROBOTOLOGY_USES_PYTHON diff --git a/cmake/template/removePathsFromUserEnvVariables.ps1.in b/cmake/template/removePathsFromUserEnvVariables.ps1.in index 346f1bed9..ca456ac58 100644 --- a/cmake/template/removePathsFromUserEnvVariables.ps1.in +++ b/cmake/template/removePathsFromUserEnvVariables.ps1.in @@ -83,7 +83,6 @@ Remove-ValueFromUserEnvVariable BLOCKTEST_RESOURCE_PATH $ROBOTOLOGY_SUPERBUILD_I # Cleanup ROBOTOLOGY_ENABLE_HUMAN_DYNAMICS-specific lines Remove-ValueFromUserEnvVariable YARP_DATA_DIRS $ROBOTOLOGY_SUPERBUILD_INSTALL_PREFIX"\share\human-gazebo"; Remove-ValueFromUserEnvVariable YARP_DATA_DIRS $ROBOTOLOGY_SUPERBUILD_INSTALL_PREFIX"\share\HumanDynamicsEstimation"; -Remove-ValueFromUserEnvVariable YARP_DATA_DIRS $ROBOTOLOGY_SUPERBUILD_INSTALL_PREFIX"\share\Wearables"; @endcmakeif ROBOTOLOGY_ENABLE_HUMAN_DYNAMICS @cmakeif ROBOTOLOGY_USES_PYTHON diff --git a/cmake/template/setup.bat.in b/cmake/template/setup.bat.in index 999b10c84..6cd6e411c 100644 --- a/cmake/template/setup.bat.in +++ b/cmake/template/setup.bat.in @@ -41,7 +41,6 @@ set "BLOCKTEST_RESOURCE_PATH"=%ROBOTOLOGY_SUPERBUILD_INSTALL_PREFIX%\bin rem ROBOTOLOGY_ENABLE_HUMAN_DYNAMICS-specific lines set "YARP_DATA_DIRS=%YARP_DATA_DIRS%;%ROBOTOLOGY_SUPERBUILD_INSTALL_PREFIX%\share\human-gazebo" set "YARP_DATA_DIRS=%YARP_DATA_DIRS%;%ROBOTOLOGY_SUPERBUILD_INSTALL_PREFIX%\share\HumanDynamicsEstimation" -set "YARP_DATA_DIRS=%YARP_DATA_DIRS%;%ROBOTOLOGY_SUPERBUILD_INSTALL_PREFIX%\share\Wearables" @endcmakeif ROBOTOLOGY_ENABLE_HUMAN_DYNAMICS @cmakeif ROBOTOLOGY_USES_PYTHON diff --git a/cmake/template/setup.sh.in b/cmake/template/setup.sh.in index 173c88780..c4523676c 100644 --- a/cmake/template/setup.sh.in +++ b/cmake/template/setup.sh.in @@ -45,7 +45,6 @@ export BLOCKTEST_RESOURCE_PATH=${ROBOTOLOGY_SUPERBUILD_INSTALL_PREFIX}/bin # ROBOTOLOGY_ENABLE_HUMAN_DYNAMICS-specific lines export YARP_DATA_DIRS=$YARP_DATA_DIRS:${ROBOTOLOGY_SUPERBUILD_INSTALL_PREFIX}/share/human-gazebo export YARP_DATA_DIRS=$YARP_DATA_DIRS:${ROBOTOLOGY_SUPERBUILD_INSTALL_PREFIX}/share/HumanDynamicsEstimation -export YARP_DATA_DIRS=$YARP_DATA_DIRS:${ROBOTOLOGY_SUPERBUILD_INSTALL_PREFIX}/share/Wearables @endcmakeif ROBOTOLOGY_ENABLE_HUMAN_DYNAMICS @cmakeif ROBOTOLOGY_USES_PYTHON diff --git a/conda/multisheller/wearables_activate.msh b/conda/multisheller/wearables_activate.msh deleted file mode 100644 index 6572a37c9..000000000 --- a/conda/multisheller/wearables_activate.msh +++ /dev/null @@ -1,5 +0,0 @@ -if_(is_set("COMSPEC")).then_([ - sys.list_append("YARP_DATA_DIRS", path.join(env("CONDA_PREFIX"), "Library\\share\\Wearables")) -]).else_([ - sys.list_append("YARP_DATA_DIRS", path.join(env("CONDA_PREFIX"), "share/Wearables")) -]) diff --git a/conda/multisheller/wearables_deactivate.msh b/conda/multisheller/wearables_deactivate.msh deleted file mode 100644 index 96cc7c271..000000000 --- a/conda/multisheller/wearables_deactivate.msh +++ /dev/null @@ -1,5 +0,0 @@ -if_(is_set("COMSPEC")).then_([ - sys.list_remove("YARP_DATA_DIRS", path.join(env("CONDA_PREFIX"), "Library\\share\\Wearables")) -]).else_([ - sys.list_remove("YARP_DATA_DIRS", path.join(env("CONDA_PREFIX"), "share/Wearables")) -]) diff --git a/doc/cmake-options.md b/doc/cmake-options.md index af3163fd5..acf7664aa 100644 --- a/doc/cmake-options.md +++ b/doc/cmake-options.md @@ -49,7 +49,7 @@ All these options are named `ROBOTOLOGY_ENABLE_` . | `ROBOTOLOGY_ENABLE_ICUB_HEAD` | The robotology software packages needed on the system that is running on the head of the iCub robot, or in general to communicate directly with iCub low-level devices. | [`icub-firmware`](https://github.com/robotology/icub-firmware), [`icub-firmware-shared`](https://github.com/robotology/icub-firmware-shared). Furthermore, several additional devices are compiled in `YARP` and `ICUB` if this option is enabled. | `OFF` | [Documentation on iCub Head profile.](#icub-head) | | `ROBOTOLOGY_ENABLE_ICUB_BASIC_DEMOS` | The robotology software packages needed to run basic demonstrations with the iCub robot. | [`icub-basic-demos`](https://github.com/robotology/icub-basic-demos), [`speech`](https://github.com/robotology/speech), [`funny-things`](https://github.com/robotology/funny-things). | `OFF` | [Documentation on iCub Basic Demos profile.](#icub-basic-demos) | | `ROBOTOLOGY_ENABLE_TELEOPERATION` | The robotology software packages related to teleoperation. | [`walking-teleoperation`](https://github.com/robotology/walking-teleoperation), [`https://github.com/ami-iit/yarp-openvr-trackers`](https://github.com/ami-iit/yarp-openvr-trackers) and [`https://github.com/ami-iit/yarp-device-openxrheadset`](https://github.com/ami-iit/yarp-device-openxrheadset). | `OFF` | [Documentation on teleoperation profile.](#teleoperation) | -| `ROBOTOLOGY_ENABLE_HUMAN_DYNAMICS` | The robotology software packages related to human dynamics estimation. | [`human-dynamics-estimation`](https://github.com/robotology/human-dynamics-estimation), [`wearables`](https://github.com/robotology/wearables), [`yarp-devices-forcetorque`](https://github.com/robotology/yarp-devices-forcetorque). For options check the profile documentation. | `OFF` | [Documentation on human dynamics profile.](#human-dynamics) | +| `ROBOTOLOGY_ENABLE_HUMAN_DYNAMICS` | The robotology software packages related to human dynamics estimation. | [`human-dynamics-estimation`](https://github.com/robotology/human-dynamics-estimation), [`yarp-devices-forcetorque`](https://github.com/robotology/yarp-devices-forcetorque). For options check the profile documentation. | `OFF` | [Documentation on human dynamics profile.](#human-dynamics) | | `ROBOTOLOGY_ENABLE_EVENT_DRIVEN` | The robotology software packages related to event-driven. | [`event-driven`](https://github.com/robotology/event-driven) | `OFF` | [Documentation on event-driven profile.](#event-driven) | | `ROBOTOLOGY_ENABLE_GRASPING` | The robotology software packages related to grasping. | [`find-superquadric`](https://github.com/robotology/find-superquadric) if the `ROBOTOLOGY_USES_PCL_AND_VTK` option is enabled. | `OFF` | [Documentation on grasping profile.](#grasping) | diff --git a/doc/environment-variables-configuration.md b/doc/environment-variables-configuration.md index 7886576b4..22f7d7150 100644 --- a/doc/environment-variables-configuration.md +++ b/doc/environment-variables-configuration.md @@ -51,8 +51,7 @@ For all profile options not listed, no additional configuration is required. ### Human Dynamics `$ROBOTOLOGY_SUPERBUILD_INSTALL_PREFIX/share/human-gazebo`, -`$ROBOTOLOGY_SUPERBUILD_INSTALL_PREFIX/share/HumanDynamicsEstimation`, -and`$ROBOTOLOGY_SUPERBUILD_INSTALL_PREFIX/share/Wearables` must be appended to the `YARP_DATA_DIRS` environmental variable. +and `$ROBOTOLOGY_SUPERBUILD_INSTALL_PREFIX/share/HumanDynamicsEstimation`` must be appended to the `YARP_DATA_DIRS` environmental variable. ## Dependency-specific configuration steps diff --git a/releases/latest.releases.yaml b/releases/latest.releases.yaml index 03bdfc425..d0719eb7d 100644 --- a/releases/latest.releases.yaml +++ b/releases/latest.releases.yaml @@ -119,14 +119,10 @@ repositories: type: git url: https://github.com/robotology/yarp-devices-forcetorque.git version: v0.3.1 - wearables: - type: git - url: https://github.com/robotology/wearables.git - version: v1.9.0 HumanDynamicsEstimation: type: git url: https://github.com/robotology/human-dynamics-estimation.git - version: v3.1.1 + version: v4.0.0 human-gazebo: type: git url: https://github.com/robotology/human-gazebo.git From fcc53ecf07dd64c7e7989ed3d14af934b1588629 Mon Sep 17 00:00:00 2001 From: Silvio Traversaro Date: Wed, 25 Sep 2024 16:11:00 +0200 Subject: [PATCH 21/31] Add missing pixi dependency in generate-conda-packages and missing prefix.dev upload to generate-non-periodical-conda-package job (#1719) * Bump CONDA_BUILD_NUMBER to 133 * Add missing pixi dependency in generate-conda-packages and missing prefix.dev upload to generate-non-periodical-conda-package job --- .github/workflows/generate-conda-packages.yaml | 2 +- .../workflows/generate-non-periodical-conda-package.yaml | 8 +++++++- conda/cmake/CondaGenerationOptions.cmake | 2 +- 3 files changed, 9 insertions(+), 3 deletions(-) diff --git a/.github/workflows/generate-conda-packages.yaml b/.github/workflows/generate-conda-packages.yaml index 7e94d21af..3f8058d01 100644 --- a/.github/workflows/generate-conda-packages.yaml +++ b/.github/workflows/generate-conda-packages.yaml @@ -98,7 +98,7 @@ jobs: - name: Dependencies for conda recipes generation and upload shell: bash -l {0} run: | - conda install pyyaml jinja2 conda-build ninja anaconda-client conda-forge-pinning mamba boa multisheller + conda install pyyaml jinja2 conda-build ninja anaconda-client conda-forge-pinning mamba boa multisheller pixi - name: Print used environment shell: bash -l {0} diff --git a/.github/workflows/generate-non-periodical-conda-package.yaml b/.github/workflows/generate-non-periodical-conda-package.yaml index 331d05f17..1d8351021 100644 --- a/.github/workflows/generate-non-periodical-conda-package.yaml +++ b/.github/workflows/generate-non-periodical-conda-package.yaml @@ -36,7 +36,7 @@ jobs: - name: Dependencies for conda recipes generation and upload shell: bash -l {0} run: | - conda install pyyaml jinja2 conda-build ninja anaconda-client conda-forge-pinning mamba boa multisheller + conda install pyyaml jinja2 conda-build ninja anaconda-client conda-forge-pinning mamba boa multisheller pixi - name: Print used environment shell: bash -l {0} @@ -64,7 +64,13 @@ jobs: if: (github.event_name == 'workflow_dispatch' && github.event.inputs.upload_conda_binaries == 'true') env: ANACONDA_API_TOKEN: ${{ secrets.ANACONDA_API_TOKEN }} + PREFIX_DEV_TOKEN: ${{ secrets.PREFIX_DEV_TOKEN }} run: | cd ${CONDA_PREFIX}/conda-bld/${{ matrix.conda_platform}}/ ls *.tar.bz2 anaconda upload --skip-existing *.tar.bz2 + pixi auth login https://prefix.dev --token $PREFIX_DEV_TOKEN + for condapackage in *.tar.bz2; do + pixi upload https://prefix.dev/api/v1/upload/robotology "$condapackage" + done + pixi auth logout https://prefix.dev diff --git a/conda/cmake/CondaGenerationOptions.cmake b/conda/cmake/CondaGenerationOptions.cmake index 76f7ba16e..9da4310d8 100644 --- a/conda/cmake/CondaGenerationOptions.cmake +++ b/conda/cmake/CondaGenerationOptions.cmake @@ -2,7 +2,7 @@ # to ensure that binaries belonging to different rebuilds # can be distinguished even if the version number is the same if(NOT CONDA_BUILD_NUMBER) - set(CONDA_BUILD_NUMBER 132) + set(CONDA_BUILD_NUMBER 133) endif() # This option is enabled only when the metapackages robotology-distro and robotology-distro-all are From 2e1d27e5ce01fc39968972d6e676f5621d5f77db Mon Sep 17 00:00:00 2001 From: Silvio Traversaro Date: Wed, 25 Sep 2024 16:11:30 +0200 Subject: [PATCH 22/31] Switch robotology conda binary packages generation to target osx-arm64 instead of osx-64 (#1712) * Switch robotology conda binary packages generation to target osx-arm64 instead of osx-64 * Change docs to report that all packages should be available in osx-arm64 --- .github/workflows/generate-conda-packages.yaml | 14 +++++++------- .../generate-non-periodical-conda-package.yaml | 4 ++-- doc/conda-forge.md | 6 ++++-- 3 files changed, 13 insertions(+), 11 deletions(-) diff --git a/.github/workflows/generate-conda-packages.yaml b/.github/workflows/generate-conda-packages.yaml index 3f8058d01..3580dc57b 100644 --- a/.github/workflows/generate-conda-packages.yaml +++ b/.github/workflows/generate-conda-packages.yaml @@ -54,8 +54,8 @@ jobs: include: - os: ubuntu-20.04 conda_platform: linux-64 - - os: macos-11.0 - conda_platform: osx-64 + - os: macos-14 + conda_platform: osx-arm64 - os: windows-2019 conda_platform: win-64 @@ -79,11 +79,11 @@ jobs: - name: Install files to enable compilation of mex files [Conda/macOS] if: contains(matrix.os, 'macos') run: | - curl -L -O https://github.com/robotology/robotology-vcpkg-ports/releases/download/storage/msdk_R2020a_mexmaci64.zip - unzip msdk_R2020a_mexmaci64.zip - rm msdk_R2020a_mexmaci64.zip - echo "GHA_Matlab_ROOT_DIR=${GITHUB_WORKSPACE}/msdk_R2020a_mexmaci64" >> $GITHUB_ENV - echo "GHA_Matlab_MEX_EXTENSION=mexmaci64" >> $GITHUB_ENV + curl -L -O https://github.com/robotology/robotology-vcpkg-ports/releases/download/storage/msdk_R2023b_mexmaca64.zip + unzip msdk_R2023b_mexmaca64.zip + rm msdk_R2023b_mexmaca64.zip + echo "GHA_Matlab_ROOT_DIR=${GITHUB_WORKSPACE}/msdk_R2023b_mexmaca64" >> $GITHUB_ENV + echo "GHA_Matlab_MEX_EXTENSION=mexmaca64" >> $GITHUB_ENV - name: Install files to enable compilation of mex files [Conda/Windows] if: contains(matrix.os, 'windows') diff --git a/.github/workflows/generate-non-periodical-conda-package.yaml b/.github/workflows/generate-non-periodical-conda-package.yaml index 1d8351021..0dd203674 100644 --- a/.github/workflows/generate-non-periodical-conda-package.yaml +++ b/.github/workflows/generate-non-periodical-conda-package.yaml @@ -20,8 +20,8 @@ jobs: include: - os: ubuntu-20.04 conda_platform: linux-64 - - os: macos-11.0 - conda_platform: osx-64 + - os: macos-14 + conda_platform: osx-arm64 - os: windows-2019 conda_platform: win-64 diff --git a/doc/conda-forge.md b/doc/conda-forge.md index 1cb749a4f..140bc126f 100644 --- a/doc/conda-forge.md +++ b/doc/conda-forge.md @@ -19,12 +19,14 @@ Depending on the speficic package, the binary packages are hosted either in [`co The following conda platforms are supported by all packages of the robotology-superbuild: * `linux-64` (Linux on x86-64) -* `osx-64` (macOS on x86-64) +* `osx-arm64` (macOS on ARM 64-bit) * `win-64` (Windows on x86-64) Some packages are also available for: * `linux-aarch64` (Linux on ARM 64-bit) -* `osx-arm64` (macOS on ARM 64-bit) +* `osx-64` (macOS on x86-64) + +As the switch from building the `robotology` channel packages from `osx-64` to `osx-arm64` happened in September 2024 (see https://github.com/robotology/robotology-superbuild/pull/1712), it may happen that some older packages are only available for `osx-64` and not `osx-arm64`. If you need a binary package on a platform in which it is not available, feel free to [open an issue](https://github.com/robotology/robotology-superbuild/issues/new) requesting it. From adf3f1f4fefe566c151a3ba9904eaff7299a7822 Mon Sep 17 00:00:00 2001 From: Silvio Traversaro Date: Thu, 26 Sep 2024 13:42:11 +0200 Subject: [PATCH 23/31] Enable python bindings compilation for human-dynamics-estimation if ROBOTOLOGY_USES_PYTHON is enabled (#1717) * Enable python bindings compilation for human-dynamics-estimation * Update BuildHumanDynamicsEstimation.cmake * Bump hde to 4.0.1 --- cmake/BuildHumanDynamicsEstimation.cmake | 25 ++++++++++++++++++++++-- cmake/BuildiDynTree.cmake | 2 +- releases/latest.releases.yaml | 2 +- 3 files changed, 25 insertions(+), 4 deletions(-) diff --git a/cmake/BuildHumanDynamicsEstimation.cmake b/cmake/BuildHumanDynamicsEstimation.cmake index eb6935ae7..aca5e787e 100644 --- a/cmake/BuildHumanDynamicsEstimation.cmake +++ b/cmake/BuildHumanDynamicsEstimation.cmake @@ -11,8 +11,24 @@ find_or_build_package(osqp QUIET) find_or_build_package(OsqpEigen QUIET) find_or_build_package(robometry QUIET) +# For what regards Python installation, the options changes depending +# on whether we are installing HDE in the superbuild, or generating a +# conda package +# See https://github.com/robotology/robotology-superbuild/issues/641 +set(HDE_OPTIONAL_CMAKE_ARGS "") +if(ROBOTOLOGY_USES_PYTHON) + if (NOT ROBOTOLOGY_GENERATE_CONDA_RECIPES) + # If we are not generating a conda recipe, the bindings need to go in the ROBOTOLOGY_SUPERBUILD_PYTHON_INSTALL_DIR + list(APPEND HDE_OPTIONAL_CMAKE_ARGS "-DHDE_PYTHON_INSTALL_DIR=${ROBOTOLOGY_SUPERBUILD_PYTHON_INSTALL_DIR}") + else() + # If we are building a conda package, the active environment is the correct place were to install the python bindings + list(APPEND HDE_OPTIONAL_CMAKE_ARGS "-DHDE_DETECT_ACTIVE_PYTHON_SITEPACKAGES:BOOL=ON") + endif() +endif() + + if(WIN32) - list(APPEND HDE_CMAKE_ARGS -DXSENS_MVN_USE_SDK:BOOL=${ROBOTOLOGY_USES_XSENS_MVN_SDK} -DENABLE_XsensSuit:BOOL=${ROBOTOLOGY_USES_XSENS_MVN_SDK} ) + list(APPEND HDE_OPTIONAL_CMAKE_ARGS -DXSENS_MVN_USE_SDK:BOOL=${ROBOTOLOGY_USES_XSENS_MVN_SDK} -DENABLE_XsensSuit:BOOL=${ROBOTOLOGY_USES_XSENS_MVN_SDK} ) endif() ycm_ep_helper(HumanDynamicsEstimation TYPE GIT @@ -21,7 +37,7 @@ ycm_ep_helper(HumanDynamicsEstimation TYPE GIT TAG master COMPONENT human_dynamics FOLDER src - CMAKE_ARGS -DHUMANSTATEPROVIDER_ENABLE_VISUALIZER:BOOL=ON ${HDE_CMAKE_ARGS} + CMAKE_ARGS -DHUMANSTATEPROVIDER_ENABLE_VISUALIZER:BOOL=ON -DHDE_COMPILE_PYTHON_BINDINGS:BOOL=${ROBOTOLOGY_USES_PYTHON} ${HDE_OPTIONAL_CMAKE_ARGS} DEPENDS iDynTree YARP osqp @@ -30,3 +46,8 @@ ycm_ep_helper(HumanDynamicsEstimation TYPE GIT robometry) set(HumanDynamicsEstimation_CONDA_DEPENDENCIES eigen) + +if(ROBOTOLOGY_USES_PYTHON) + list(APPEND HumanDynamicsEstimation_CONDA_DEPENDENCIES python) + list(APPEND HumanDynamicsEstimation_CONDA_DEPENDENCIES pybind11) +endif() diff --git a/cmake/BuildiDynTree.cmake b/cmake/BuildiDynTree.cmake index d06edaeb0..11d25727e 100644 --- a/cmake/BuildiDynTree.cmake +++ b/cmake/BuildiDynTree.cmake @@ -11,7 +11,7 @@ set(iDynTree_DEPENDS "") list(APPEND iDynTree_DEPENDS OsqpEigen) # For what regards Python installation, the options changes depending -# on whether we are installing YARP from source, or generating a +# on whether we are installing iDynTree from source, or generating a # conda package on Windows as in that case the installation location # will need to be outside of CMAKE_INSTALL_PREFIX # See https://github.com/robotology/robotology-superbuild/issues/641 diff --git a/releases/latest.releases.yaml b/releases/latest.releases.yaml index d0719eb7d..416abe717 100644 --- a/releases/latest.releases.yaml +++ b/releases/latest.releases.yaml @@ -122,7 +122,7 @@ repositories: HumanDynamicsEstimation: type: git url: https://github.com/robotology/human-dynamics-estimation.git - version: v4.0.0 + version: v4.0.1 human-gazebo: type: git url: https://github.com/robotology/human-gazebo.git From 40b40e8aa9a08b49abe463c1004c59d4913f9796 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Mon, 30 Sep 2024 23:21:12 +0200 Subject: [PATCH 24/31] Automatic update of latest releases versions (#1724) Co-authored-by: traversaro <1857049+traversaro@users.noreply.github.com> --- releases/latest.releases.yaml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/releases/latest.releases.yaml b/releases/latest.releases.yaml index 416abe717..3b3fcfebe 100644 --- a/releases/latest.releases.yaml +++ b/releases/latest.releases.yaml @@ -82,11 +82,11 @@ repositories: BlockFactory: type: git url: https://github.com/robotology/blockfactory.git - version: v0.8.5 + version: v0.8.6 WBToolbox: type: git url: https://github.com/robotology/wb-toolbox.git - version: v5.6.1 + version: v5.7.0 OsqpEigen: type: git url: https://github.com/robotology/osqp-eigen.git @@ -122,7 +122,7 @@ repositories: HumanDynamicsEstimation: type: git url: https://github.com/robotology/human-dynamics-estimation.git - version: v4.0.1 + version: v4.0.2 human-gazebo: type: git url: https://github.com/robotology/human-gazebo.git @@ -222,7 +222,7 @@ repositories: OpenXR: type: git url: https://github.com/KhronosGroup/OpenXR-SDK.git - version: release-1.1.40 + version: release-1.1.41 OpenVR: type: git url: https://github.com/ami-iit/openvr.git From 443538d835e7b4a669bb5efdaae50167b62a96a6 Mon Sep 17 00:00:00 2001 From: Silvio Traversaro Date: Wed, 2 Oct 2024 00:09:39 +0200 Subject: [PATCH 25/31] Bump casadi to 3.6.7 (#1725) --- cmake/Buildcasadi.cmake | 2 +- cmake/ProjectsTagsStable.cmake | 4 ++-- releases/latest.releases.yaml | 4 ++-- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/cmake/Buildcasadi.cmake b/cmake/Buildcasadi.cmake index e18f526fa..4202cfbda 100644 --- a/cmake/Buildcasadi.cmake +++ b/cmake/Buildcasadi.cmake @@ -29,7 +29,7 @@ endif() ycm_ep_helper(casadi TYPE GIT STYLE GITHUB REPOSITORY casadi/casadi.git - TAG 3.6.6 + TAG 3.6.7 COMPONENT external FOLDER src CMAKE_ARGS -DWITH_IPOPT:BOOL=ON diff --git a/cmake/ProjectsTagsStable.cmake b/cmake/ProjectsTagsStable.cmake index 4618bc448..f39f78ef0 100644 --- a/cmake/ProjectsTagsStable.cmake +++ b/cmake/ProjectsTagsStable.cmake @@ -11,8 +11,8 @@ set_tag(manif_TAG 0.0.5) set_tag(qhull_TAG 2020.2) set_tag(CppAD_TAG 20240000.2) set_tag(proxsuite_TAG v0.6.4) -set_tag(casadi_TAG 3.6.6) -set_tag(casadi-matlab-bindings_TAG v3.6.6.0) +set_tag(casadi_TAG 3.6.7) +set_tag(casadi-matlab-bindings_TAG v3.6.7.0) # Robotology projects set_tag(YCM_TAG master) diff --git a/releases/latest.releases.yaml b/releases/latest.releases.yaml index 3b3fcfebe..b84d1d4a1 100644 --- a/releases/latest.releases.yaml +++ b/releases/latest.releases.yaml @@ -22,7 +22,7 @@ repositories: casadi: type: git url: https://github.com/casadi/casadi.git - version: 3.6.6 + version: 3.6.7 YCM: type: git url: https://github.com/robotology/ycm.git @@ -198,7 +198,7 @@ repositories: casadi-matlab-bindings: type: git url: https://github.com/ami-iit/casadi-matlab-bindings.git - version: v3.6.6.0 + version: v3.6.7.0 idyntree-yarp-tools: type: git url: https://github.com/robotology/idyntree-yarp-tools.git From 0d152d1b86b9905ebe241cc463be0a523331a1c3 Mon Sep 17 00:00:00 2001 From: Silvio Traversaro Date: Wed, 2 Oct 2024 00:50:39 +0200 Subject: [PATCH 26/31] Migrate icub-firmware-shared, icub-main and human-dynamics-estimation conda packages to be installed via conda-forge (#1727) --- .../workflows/generate-conda-packages.yaml | 8 ----- CMakeLists.txt | 2 +- cmake/BuildHumanDynamicsEstimation.cmake | 8 ++--- cmake/BuildICUB.cmake | 32 ++----------------- cmake/Buildicub_firmware_shared.cmake | 3 ++ cmake/ProjectsTagsStable.cmake | 4 +-- cmake/ProjectsTagsUnstable.cmake | 4 +-- conda/cmake/CondaGenerationOptions.cmake | 2 +- conda/pure_python_recipe_template/meta.yaml | 3 +- releases/latest.releases.yaml | 6 ++-- 10 files changed, 18 insertions(+), 54 deletions(-) diff --git a/.github/workflows/generate-conda-packages.yaml b/.github/workflows/generate-conda-packages.yaml index 3580dc57b..d0bc45e9a 100644 --- a/.github/workflows/generate-conda-packages.yaml +++ b/.github/workflows/generate-conda-packages.yaml @@ -180,16 +180,8 @@ jobs: # specifically because we can't use --skip-existing as these packages are part of the robotology channel conda mambabuild -m ${CONDA_PREFIX}/conda_build_config.yaml -m ${GITHUB_WORKSPACE}/conda/conda_build_config.yml icub-contrib-common rm -rf icub-contrib-common - conda mambabuild -m ${CONDA_PREFIX}/conda_build_config.yaml -m ${GITHUB_WORKSPACE}/conda/conda_build_config.yml icub-firmware-shared - rm -rf icub-firmware-shared conda mambabuild -m ${CONDA_PREFIX}/conda_build_config.yaml -m ${GITHUB_WORKSPACE}/conda/conda_build_config.yml robots-configuration rm -rf robots-configuration - # icub-main needs robotology channel as it also depends on esdcan, and local to avoid that robotology packages are used instead of local built one - conda mambabuild -m ${CONDA_PREFIX}/conda_build_config.yaml -m ${GITHUB_WORKSPACE}/conda/conda_build_config.yml -c local -c conda-forge -c robotology icub-main - rm -rf icub-main - # Channels specified explicitly due to https://github.com/robotology/robotology-superbuild/issues/1140 - conda mambabuild -m ${CONDA_PREFIX}/conda_build_config.yaml -m ${GITHUB_WORKSPACE}/conda/conda_build_config.yml -c local -c conda-forge human-dynamics-estimation - rm -rf human-dynamics-estimation conda mambabuild -m ${CONDA_PREFIX}/conda_build_config.yaml -m ${GITHUB_WORKSPACE}/conda/conda_build_config.yml robot-log-visualizer rm -rf robot-log-visualizer conda mambabuild -m ${CONDA_PREFIX}/conda_build_config.yaml -m ${GITHUB_WORKSPACE}/conda/conda_build_config.yml idyntree-matlab-bindings diff --git a/CMakeLists.txt b/CMakeLists.txt index 987d76540..cd1090119 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -28,7 +28,7 @@ endmacro() include(RobotologySuperbuildOptions) # Python-related logic -if(ROBOTOLOGY_USES_PYTHON) +if(ROBOTOLOGY_USES_PYTHON AND NOT ROBOTOLOGY_GENERATE_CONDA_RECIPES) find_package(Python3 COMPONENTS Interpreter Development REQUIRED) if(Python3_VERSION VERSION_GREATER_EQUAL 3.12) execute_process(COMMAND ${Python3_EXECUTABLE} -c "import os;import sysconfig;relative_site_packages = sysconfig.get_path('purelib').replace(sysconfig.get_path('data'), '').lstrip(os.path.sep);print(relative_site_packages)" diff --git a/cmake/BuildHumanDynamicsEstimation.cmake b/cmake/BuildHumanDynamicsEstimation.cmake index aca5e787e..bf8baa37b 100644 --- a/cmake/BuildHumanDynamicsEstimation.cmake +++ b/cmake/BuildHumanDynamicsEstimation.cmake @@ -45,9 +45,5 @@ ycm_ep_helper(HumanDynamicsEstimation TYPE GIT ICUB robometry) -set(HumanDynamicsEstimation_CONDA_DEPENDENCIES eigen) - -if(ROBOTOLOGY_USES_PYTHON) - list(APPEND HumanDynamicsEstimation_CONDA_DEPENDENCIES python) - list(APPEND HumanDynamicsEstimation_CONDA_DEPENDENCIES pybind11) -endif() +set(HumanDynamicsEstimation_CONDA_PKG_NAME human-dynamics-estimation) +set(HumanDynamicsEstimation_CONDA_PKG_CONDA_FORGE_OVERRIDE ON) diff --git a/cmake/BuildICUB.cmake b/cmake/BuildICUB.cmake index b3c2b809a..8ee5e5485 100644 --- a/cmake/BuildICUB.cmake +++ b/cmake/BuildICUB.cmake @@ -104,33 +104,5 @@ ycm_ep_helper(ICUB TYPE GIT -DCREATE_LUA:BOOL=${ROBOTOLOGY_USES_LUA} ${ICUB_PYTHON_INSTALL_CMAKE_ARGS}) -set(ICUB_CONDA_DEPENDENCIES ace libopencv gsl ipopt libode qt-main sdl) -set(ICUB_CONDA_BUILD_DEPENDENCIES_EXPLICIT) - -if(NOT (APPLE OR WIN32)) - list(APPEND ICUB_CONDA_DEPENDENCIES libdc1394) -endif() - -if(NOT APPLE) - list(APPEND ICUB_CONDA_DEPENDENCIES freeglut) -endif() -if(CMAKE_SYSTEM_NAME STREQUAL "Linux") - list(APPEND ICUB_CONDA_DEPENDENCIES libglu) -endif() - -if(ROBOTOLOGY_USES_ESDCAN) - list(APPEND ICUB_CONDA_DEPENDENCIES esdcan) -endif() - -if(ICUB_COMPILE_BINDINGS) - list(APPEND ICUB_CONDA_BUILD_DEPENDENCIES_EXPLICIT swig) -endif() - -if(ROBOTOLOGY_USES_PYTHON) - list(APPEND ICUB_CONDA_DEPENDENCIES python) -endif() - -if(ROBOTOLOGY_USES_LUA) - list(APPEND ICUB_CONDA_DEPENDENCIES lua) -endif() - +set(ICUB_CONDA_PKG_NAME icub-main) +set(ICUB_CONDA_PKG_CONDA_FORGE_OVERRIDE ON) diff --git a/cmake/Buildicub_firmware_shared.cmake b/cmake/Buildicub_firmware_shared.cmake index 58f08f09e..469656d82 100644 --- a/cmake/Buildicub_firmware_shared.cmake +++ b/cmake/Buildicub_firmware_shared.cmake @@ -11,3 +11,6 @@ ycm_ep_helper(icub_firmware_shared TYPE GIT COMPONENT iCub FOLDER src DEPENDS YCM) + +set(icub_firmware_shared_CONDA_PKG_NAME icub-firmware-shared) +set(icub_firmware_shared_CONDA_PKG_CONDA_FORGE_OVERRIDE ON) \ No newline at end of file diff --git a/cmake/ProjectsTagsStable.cmake b/cmake/ProjectsTagsStable.cmake index f39f78ef0..c84a24240 100644 --- a/cmake/ProjectsTagsStable.cmake +++ b/cmake/ProjectsTagsStable.cmake @@ -9,8 +9,8 @@ set_tag(osqp_REPOSITORY robotology-dependencies/osqp.git) set_tag(osqp_TAG v0.6.3.1) set_tag(manif_TAG 0.0.5) set_tag(qhull_TAG 2020.2) -set_tag(CppAD_TAG 20240000.2) -set_tag(proxsuite_TAG v0.6.4) +set_tag(CppAD_TAG 20240000.7) +set_tag(proxsuite_TAG v0.6.7) set_tag(casadi_TAG 3.6.7) set_tag(casadi-matlab-bindings_TAG v3.6.7.0) diff --git a/cmake/ProjectsTagsUnstable.cmake b/cmake/ProjectsTagsUnstable.cmake index 3f5758a63..a0f8f73da 100644 --- a/cmake/ProjectsTagsUnstable.cmake +++ b/cmake/ProjectsTagsUnstable.cmake @@ -9,8 +9,8 @@ set_tag(osqp_REPOSITORY robotology-dependencies/osqp.git) set_tag(osqp_TAG v0.6.3.1) set_tag(manif_TAG 0.0.5) set_tag(qhull_TAG 2020.2) -set_tag(CppAD_TAG 20240000.2) -set_tag(proxsuite_TAG v0.6.4) +set_tag(CppAD_TAG 20240000.7) +set_tag(proxsuite_TAG v0.6.7) set_tag(casadi_TAG 3.6.6) set_tag(casadi-matlab-bindings_TAG v3.6.6.0) diff --git a/conda/cmake/CondaGenerationOptions.cmake b/conda/cmake/CondaGenerationOptions.cmake index 9da4310d8..07c0d4880 100644 --- a/conda/cmake/CondaGenerationOptions.cmake +++ b/conda/cmake/CondaGenerationOptions.cmake @@ -2,7 +2,7 @@ # to ensure that binaries belonging to different rebuilds # can be distinguished even if the version number is the same if(NOT CONDA_BUILD_NUMBER) - set(CONDA_BUILD_NUMBER 133) + set(CONDA_BUILD_NUMBER 140) endif() # This option is enabled only when the metapackages robotology-distro and robotology-distro-all are diff --git a/conda/pure_python_recipe_template/meta.yaml b/conda/pure_python_recipe_template/meta.yaml index 8a47fd006..37acd22b3 100644 --- a/conda/pure_python_recipe_template/meta.yaml +++ b/conda/pure_python_recipe_template/meta.yaml @@ -34,7 +34,8 @@ requirements: test: commands: - - pip check + # Do not run pip check on arm64 as pip list does not list qtpy5 and qtwebengine + - pip check # [not arm64] requires: - pip diff --git a/releases/latest.releases.yaml b/releases/latest.releases.yaml index b84d1d4a1..257b2762b 100644 --- a/releases/latest.releases.yaml +++ b/releases/latest.releases.yaml @@ -18,7 +18,7 @@ repositories: CppAD: type: git url: https://github.com/coin-or/CppAD.git - version: 20240000.4 + version: 20240000.7 casadi: type: git url: https://github.com/casadi/casadi.git @@ -122,7 +122,7 @@ repositories: HumanDynamicsEstimation: type: git url: https://github.com/robotology/human-dynamics-estimation.git - version: v4.0.2 + version: v4.0.3 human-gazebo: type: git url: https://github.com/robotology/human-gazebo.git @@ -246,7 +246,7 @@ repositories: proxsuite: type: git url: https://github.com/Simple-Robotics/proxsuite.git - version: v0.6.4 + version: v0.6.7 BayesFilters: type: git url: https://github.com/robotology/bayes-filters-lib.git From ad605829bbf709ac1e2c4de7a1607c076c0216cd Mon Sep 17 00:00:00 2001 From: Silvio Traversaro Date: Thu, 3 Oct 2024 22:04:57 +0200 Subject: [PATCH 27/31] Enable ROBOT_TESTING under Apple Silicon macOS (#1728) --- .ci/initial-cache.gh.cmake | 4 +--- cmake/Buildblocktest-yarp-plugins.cmake | 2 +- cmake/Buildblocktestcore.cmake | 2 +- conda/cmake/RobotologySuperbuildGenerateCondaRecipes.cmake | 4 ++-- 4 files changed, 5 insertions(+), 7 deletions(-) diff --git a/.ci/initial-cache.gh.cmake b/.ci/initial-cache.gh.cmake index 9ed7dae6d..465cd3181 100644 --- a/.ci/initial-cache.gh.cmake +++ b/.ci/initial-cache.gh.cmake @@ -15,9 +15,7 @@ if(NOT WIN32 OR DEFINED ENV{CONDA_PREFIX}) endif() # Profiles options -if(NOT (APPLE AND ($ENV{RUNNER_ARCH} STREQUAL "ARM64"))) - set(ROBOTOLOGY_ENABLE_ROBOT_TESTING ON CACHE BOOL "") -endif() +set(ROBOTOLOGY_ENABLE_ROBOT_TESTING ON CACHE BOOL "") set(ROBOTOLOGY_ENABLE_ICUB_HEAD ON CACHE BOOL "") set(ROBOTOLOGY_ENABLE_DYNAMICS ON CACHE BOOL "") # ROBOTOLOGY_ENABLE_DYNAMICS_FULL_DEPS is only supported on Windows with conda diff --git a/cmake/Buildblocktest-yarp-plugins.cmake b/cmake/Buildblocktest-yarp-plugins.cmake index 44c47b21c..803cc3342 100644 --- a/cmake/Buildblocktest-yarp-plugins.cmake +++ b/cmake/Buildblocktest-yarp-plugins.cmake @@ -18,4 +18,4 @@ ycm_ep_helper(blocktest-yarp-plugins TYPE GIT blocktestcore CMAKE_ARGS -DENABLE_MSVC_WARNINGS:BOOL=OFF) -set(blocktest-yarp-plugins_CONDA_DEPENDENCIES boost-cpp) +set(blocktest-yarp-plugins_CONDA_DEPENDENCIES libboost-devel) diff --git a/cmake/Buildblocktestcore.cmake b/cmake/Buildblocktestcore.cmake index e843de8bf..ed256a0d0 100644 --- a/cmake/Buildblocktestcore.cmake +++ b/cmake/Buildblocktestcore.cmake @@ -13,4 +13,4 @@ ycm_ep_helper(blocktestcore TYPE GIT CMAKE_ARGS -DENABLE_MSVC_WARNINGS:BOOL=OFF DEPENDS YCM) -set(blocktestcore_CONDA_DEPENDENCIES qt-main boost-cpp) +set(blocktestcore_CONDA_DEPENDENCIES qt-main libboost-devel) diff --git a/conda/cmake/RobotologySuperbuildGenerateCondaRecipes.cmake b/conda/cmake/RobotologySuperbuildGenerateCondaRecipes.cmake index d3935ed9f..f905d17f6 100644 --- a/conda/cmake/RobotologySuperbuildGenerateCondaRecipes.cmake +++ b/conda/cmake/RobotologySuperbuildGenerateCondaRecipes.cmake @@ -134,10 +134,10 @@ macro(generate_metametadata_file) list(APPEND ${_cmake_pkg}_CONDA_DEPENDENCIES ${${_cmake_dep}_CONDA_PKG_NAME}) endforeach() - # If vtk is in the dependencies, we also need boost-cpp + # If vtk is in the dependencies, we also need libboost-devel # See https://github.com/robotology/robotology-superbuild/issues/1276 if("vtk" IN_LIST ${_cmake_pkg}_CONDA_DEPENDENCIES) - list(APPEND ${_cmake_pkg}_CONDA_DEPENDENCIES "boost-cpp") + list(APPEND ${_cmake_pkg}_CONDA_DEPENDENCIES "libboost-devel") endif() # Compute conda github repository From bd39eb45ea1f5a42de47f9e9597a1ac967185819 Mon Sep 17 00:00:00 2001 From: Silvio Traversaro Date: Thu, 3 Oct 2024 23:14:44 +0200 Subject: [PATCH 28/31] Bump CONDA_BUILD_NUMBER to 141 --- conda/cmake/CondaGenerationOptions.cmake | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/conda/cmake/CondaGenerationOptions.cmake b/conda/cmake/CondaGenerationOptions.cmake index 07c0d4880..d56dac68b 100644 --- a/conda/cmake/CondaGenerationOptions.cmake +++ b/conda/cmake/CondaGenerationOptions.cmake @@ -2,7 +2,7 @@ # to ensure that binaries belonging to different rebuilds # can be distinguished even if the version number is the same if(NOT CONDA_BUILD_NUMBER) - set(CONDA_BUILD_NUMBER 140) + set(CONDA_BUILD_NUMBER 141) endif() # This option is enabled only when the metapackages robotology-distro and robotology-distro-all are From 8e1aaa5a93c4fd1f0268efebf69dcda10e519c6d Mon Sep 17 00:00:00 2001 From: Silvio Traversaro Date: Fri, 4 Oct 2024 00:14:51 +0200 Subject: [PATCH 29/31] conda: Set QT_HOST_PATH in conda's build.sh CMake template for osx-arm64 compat (#1729) --- conda/cmake_recipe_template/build.sh | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/conda/cmake_recipe_template/build.sh b/conda/cmake_recipe_template/build.sh index 5a641672a..a0837114b 100644 --- a/conda/cmake_recipe_template/build.sh +++ b/conda/cmake_recipe_template/build.sh @@ -7,11 +7,15 @@ cd {{ source_subdir }} mkdir build cd build +# QT_HOST_PATH is added as it is required on osx-arm64 for all +# packages that depend (even transitively) on qt6-main +# Workaround for https://github.com/conda-forge/qt-main-feedstock/issues/273 cmake .. \ -GNinja \ -DCMAKE_BUILD_TYPE=Release \ -DCMAKE_PREFIX_PATH=$PREFIX \ -DCMAKE_INSTALL_PREFIX=$PREFIX \ + -DQT_HOST_PATH=$PREFIX \ -DCMAKE_INSTALL_LIBDIR=lib \ -DCMAKE_VERBOSE_MAKEFILE=OFF \ -DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True \ From 6efb1d160679847b96b4f69e32815cd206e217da Mon Sep 17 00:00:00 2001 From: github-actions <41898282+github-actions[bot]@users.noreply.github.com> Date: Fri, 4 Oct 2024 00:11:05 +0000 Subject: [PATCH 30/31] Bump CONDA_BUILD_NUMBER after successful Conda packages build and upload --- conda/cmake/CondaGenerationOptions.cmake | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/conda/cmake/CondaGenerationOptions.cmake b/conda/cmake/CondaGenerationOptions.cmake index d56dac68b..04e4d087a 100644 --- a/conda/cmake/CondaGenerationOptions.cmake +++ b/conda/cmake/CondaGenerationOptions.cmake @@ -2,7 +2,7 @@ # to ensure that binaries belonging to different rebuilds # can be distinguished even if the version number is the same if(NOT CONDA_BUILD_NUMBER) - set(CONDA_BUILD_NUMBER 141) + set(CONDA_BUILD_NUMBER 142) endif() # This option is enabled only when the metapackages robotology-distro and robotology-distro-all are From e081c9d1ebd13c53a17149d17c27ad6d71d2940a Mon Sep 17 00:00:00 2001 From: github-actions <41898282+github-actions[bot]@users.noreply.github.com> Date: Tue, 8 Oct 2024 01:50:53 +0000 Subject: [PATCH 31/31] Bump CONDA_BUILD_NUMBER after successful Conda packages build and upload --- conda/cmake/CondaGenerationOptions.cmake | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/conda/cmake/CondaGenerationOptions.cmake b/conda/cmake/CondaGenerationOptions.cmake index 04e4d087a..846cdba64 100644 --- a/conda/cmake/CondaGenerationOptions.cmake +++ b/conda/cmake/CondaGenerationOptions.cmake @@ -2,7 +2,7 @@ # to ensure that binaries belonging to different rebuilds # can be distinguished even if the version number is the same if(NOT CONDA_BUILD_NUMBER) - set(CONDA_BUILD_NUMBER 142) + set(CONDA_BUILD_NUMBER 143) endif() # This option is enabled only when the metapackages robotology-distro and robotology-distro-all are