Skip to content

Commit

Permalink
Merge branch 'master' into fix1707
Browse files Browse the repository at this point in the history
  • Loading branch information
traversaro authored Sep 25, 2024
2 parents 5c9e56d + 2e1d27e commit e05a02d
Show file tree
Hide file tree
Showing 17 changed files with 76 additions and 94 deletions.
37 changes: 26 additions & 11 deletions .github/workflows/generate-conda-packages.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -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

Expand All @@ -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')
Expand All @@ -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}
Expand Down Expand Up @@ -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
Expand Down Expand Up @@ -221,10 +219,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)
Expand All @@ -233,10 +237,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')
Expand All @@ -253,11 +263,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,
Expand Down
12 changes: 9 additions & 3 deletions .github/workflows/generate-non-periodical-conda-package.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -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

Expand All @@ -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}
Expand Down Expand Up @@ -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
11 changes: 8 additions & 3 deletions cmake/BuildHumanDynamicsEstimation.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -7,9 +7,9 @@ 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)

# For what regards Python installation, the options changes depending
# on whether we are installing HDE in the superbuild, or generating a
Expand All @@ -26,6 +26,11 @@ if(ROBOTOLOGY_USES_PYTHON)
endif()
endif()


if(WIN32)
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
STYLE GITHUB
REPOSITORY robotology/human-dynamics-estimation.git
Expand All @@ -35,10 +40,10 @@ ycm_ep_helper(HumanDynamicsEstimation TYPE GIT
CMAKE_ARGS -DHUMANSTATEPROVIDER_ENABLE_VISUALIZER:BOOL=ON -DHDE_COMPILE_PYTHON_BINDINGS:BOOL=${ROBOTOLOGY_USES_PYTHON} ${HDE_OPTIONAL_CMAKE_ARGS}
DEPENDS iDynTree
YARP
wearables
osqp
OsqpEigen
ICUB)
ICUB
robometry)

set(HumanDynamicsEstimation_CONDA_DEPENDENCIES eigen)

Expand Down
38 changes: 0 additions & 38 deletions cmake/Buildwearables.cmake

This file was deleted.

1 change: 0 additions & 1 deletion cmake/RobotologySuperbuildLogic.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -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()
Expand Down
1 change: 0 additions & 1 deletion cmake/template/addPathsToUserEnvVariables.ps1.in
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
1 change: 0 additions & 1 deletion cmake/template/removePathsFromUserEnvVariables.ps1.in
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
1 change: 0 additions & 1 deletion cmake/template/setup.bat.in
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
1 change: 0 additions & 1 deletion cmake/template/setup.sh.in
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
2 changes: 1 addition & 1 deletion conda/cmake/CondaGenerationOptions.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -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 133)
endif()

# This option is enabled only when the metapackages robotology-distro and robotology-distro-all are
Expand Down
5 changes: 0 additions & 5 deletions conda/multisheller/wearables_activate.msh

This file was deleted.

5 changes: 0 additions & 5 deletions conda/multisheller/wearables_deactivate.msh

This file was deleted.

8 changes: 6 additions & 2 deletions doc/cmake-options.md
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@ All these options are named `ROBOTOLOGY_ENABLE_<profile>` .
| `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) |

Expand Down Expand Up @@ -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.
Expand Down
Loading

0 comments on commit e05a02d

Please sign in to comment.