Skip to content

Commit

Permalink
Merge branch 'master' into learned_base_pose_sudden_joint_fix
Browse files Browse the repository at this point in the history
  • Loading branch information
GiulioRomualdi authored Oct 11, 2024
2 parents 1210530 + 72beee1 commit 7de1c40
Show file tree
Hide file tree
Showing 292 changed files with 15,476 additions and 2,290 deletions.
1 change: 1 addition & 0 deletions .github/labeler.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@
':hammer: component: SimplifiedModelControllers': src/SimplifiedModelControllers/**/*
':hammer: component: System': src/System/**/*
':hammer: component: TSID': src/TSID/**/*
':hammer: component: TestUtils': src/TestUtils/**/*
':hammer: component: TextLogging': src/TextLogging/**/*
':hammer: component: YarpUtilities': src/YarpUtilities/**/*
':school: Examples': examples/**/*
Expand Down
18 changes: 6 additions & 12 deletions .github/workflows/changelog-checker.yml
Original file line number Diff line number Diff line change
@@ -1,20 +1,14 @@
name: Changelog Checker

name: Check Changelog
on:
pull_request:
types: [assigned, opened, synchronize, reopened, labeled, unlabeled]
branches:
- master
jobs:
build:
name: Check Actions
runs-on: ubuntu-latest
Check-Changelog:
name: Check Changelog Action
runs-on: ubuntu-20.04
steps:
- uses: actions/checkout@v1
- name: Changelog check
uses: Zomzog/changelog-checker@14fa5f86a23c48fddade9c0e0331b90844a8ea20
- uses: tarides/changelog-check-action@v2
with:
fileName: CHANGELOG.md
noChangelogLabel: '[disable changelog ci]'
env:
GITHUB_TOKEN: ${{secrets.GITHUB_TOKEN}}
changelog: CHANGELOG.md
82 changes: 20 additions & 62 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,16 +14,16 @@ env:
vcpkg_robotology_TAG: v0.11.0
YCM_TAG: v0.15.3
YARP_TAG: v3.8.0
iDynTree_TAG: v8.0.0
iDynTree_TAG: v12.3.3
CasADi_TAG: 3.5.5.2
manif_TAG: 0.0.4
matioCpp_TAG: v0.2.0
manif_TAG: 0.0.5
matioCpp_TAG: v0.2.5
LieGroupControllers_TAG: v0.2.0
osqp_TAG: v0.6.2
osqp_TAG: v0.6.3
OsqpEigen_TAG: v0.7.0
tomlplusplus_TAG: v3.0.1
icub_models_TAG: v2.4.0
UnicyclePlanner_TAG: d3f6c80afe21a9958da769c8dd8a2bbfee5ea922
UnicyclePlanner_TAG: v0.7.0
telemetry_TAG: v1.2.0
bayes_filters_TAG: 53124b1d85fc00c8cd44d572a1e482d7e58c0f50

Expand All @@ -38,7 +38,7 @@ jobs:
name: Find Trailing Whitespace
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v4
- name: Find Trailing Whitespace
run: |
set +e
Expand All @@ -58,11 +58,11 @@ jobs:
strategy:
matrix:
build_type: [Release, Debug]
os: [ubuntu-20.04, windows-2019, macos-latest]
os: [ubuntu-20.04, windows-2019]
fail-fast: false

steps:
- uses: actions/checkout@master
- uses: actions/checkout@v4

# Print environment variables to simplify development and debugging
- name: Environment Variables
Expand Down Expand Up @@ -92,25 +92,6 @@ jobs:
unzip vcpkg-robotology.zip -d C:/
rm vcpkg-robotology.zip
- name: Fixup brew [macOS]
if: matrix.os == 'macos-latest'
run: |
# Unlink and re-link to prevent errors when github mac runner images
# install python outside of brew, for example:
# https://github.com/orgs/Homebrew/discussions/3895
# https://github.com/actions/setup-python/issues/577
# https://github.com/actions/runner-images/issues/6459
# https://github.com/actions/runner-images/issues/6507
# https://github.com/actions/runner-images/issues/2322
brew list -1 | grep python | while read formula; do brew unlink $formula; brew link --overwrite $formula; done
- name: Dependencies [macOS]
if: matrix.os == 'macos-latest'
run: |
brew update
brew install ace boost eigen swig qt5 orocos-kdl qhull ipopt cppad pkg-config pybind11 \
libmatio spdlog librealsense nlohmann-json numpy assimp
- name: Dependencies [Ubuntu]
if: startsWith(matrix.os, 'ubuntu')
run: |
Expand All @@ -134,18 +115,17 @@ jobs:
sudo apt-get install librealsense2-dev
# Get the number of cores
- name: Get number of cores to speed up cmake build [Windows]
- name: Get number of cores to speed up cmake build and test to skip [Windows]
if: matrix.os == 'windows-2019'
run: |
echo "NUM_CORES_FOR_CMAKE_BUILD=$((Get-CimInstance Win32_ComputerSystem).NumberOfLogicalProcessors)" >> $env:GITHUB_ENV
echo "BLF_TEST_TO_SKIP=YarpRobotLoggerDeviceUnitTests" >> $env:GITHUB_ENV
- name: Get number of cores to speed up cmake build [Ubuntu]
- name: Get number of cores to speed up cmake build and test to suppress [Ubuntu]
if: startsWith(matrix.os, 'ubuntu')
run: echo "NUM_CORES_FOR_CMAKE_BUILD=`nproc --all`" >> $GITHUB_ENV

- name: Get number of cores to speed up cmake build [macOS]
if: matrix.os == 'macos-latest'
run: echo "NUM_CORES_FOR_CMAKE_BUILD=`sysctl -n hw.logicalcpu`" >> $GITHUB_ENV
run: |
echo "NUM_CORES_FOR_CMAKE_BUILD=`nproc --all`" >> $GITHUB_ENV
echo "BLF_TEST_TO_SKIP=" >> $env:GITHUB_ENV
- name: Cache Source-based Dependencies
id: cache-source-deps
Expand Down Expand Up @@ -179,7 +159,7 @@ jobs:
mkdir -p build
cd build
cmake -A x64 -DCMAKE_TOOLCHAIN_FILE=${VCPKG_INSTALLATION_ROOT}/scripts/buildsystems/vcpkg.cmake \
-DCMAKE_PREFIX_PATH=${GITHUB_WORKSPACE}/install/deps -DYARP_COMPILE_GUIS:BOOL=OFF \
-DCMAKE_PREFIX_PATH=${GITHUB_WORKSPACE}/install/deps -DYARP_COMPILE_GUIS:BOOL=OFF -DYARP_COMPILE_ALL_FAKE_DEVICES:BOOL=ON \
-DCMAKE_INSTALL_PREFIX=${GITHUB_WORKSPACE}/install/deps ..
cmake --build . --config ${{ matrix.build_type }} --target INSTALL -j${{env.NUM_CORES_FOR_CMAKE_BUILD}}
# Workaround for https://github.com/robotology-dependencies/robotology-vcpkg-binary-ports/issues/3
Expand Down Expand Up @@ -339,8 +319,8 @@ jobs:
-DCMAKE_INSTALL_PREFIX=${GITHUB_WORKSPACE}/install/deps ..
cmake --build . --config ${{ matrix.build_type }} --target install -j${{env.NUM_CORES_FOR_CMAKE_BUILD}}
- name: Source-based Dependencies [Ubuntu/macOS]
if: steps.cache-source-deps.outputs.cache-hit != 'true' && (startsWith(matrix.os, 'ubuntu') || matrix.os == 'macos-latest')
- name: Source-based Dependencies [Ubuntu]
if: steps.cache-source-deps.outputs.cache-hit != 'true' && startsWith(matrix.os, 'ubuntu')
shell: bash
run: |
Expand Down Expand Up @@ -370,7 +350,7 @@ jobs:
git checkout ${YARP_TAG}
mkdir -p build
cd build
cmake -DCMAKE_PREFIX_PATH=${GITHUB_WORKSPACE}/install/deps -DCMAKE_INSTALL_PREFIX=${GITHUB_WORKSPACE}/install/deps ..
cmake -DCMAKE_PREFIX_PATH=${GITHUB_WORKSPACE}/install/deps -DCMAKE_INSTALL_PREFIX=${GITHUB_WORKSPACE}/install/deps -DYARP_COMPILE_ALL_FAKE_DEVICES:BOOL=ON ..
cmake --build . --config ${{ matrix.build_type }} --target install -j${{env.NUM_CORES_FOR_CMAKE_BUILD}}
# iDynTree
Expand Down Expand Up @@ -425,7 +405,7 @@ jobs:
git checkout ${manif_TAG}
mkdir build
cd build
cmake -DCMAKE_INSTALL_PREFIX=${GITHUB_WORKSPACE}/install/deps ..
cmake -DBUILD_PYTHON_BINDINGS:BOOL=ON -DMANIFPY_PKGDIR:PATH=${GITHUB_WORKSPACE}/install/deps/lib/python3/dist-packages -DCMAKE_INSTALL_PREFIX=${GITHUB_WORKSPACE}/install/deps ..
cmake --build . --config ${{ matrix.build_type }} --target install -j${{env.NUM_CORES_FOR_CMAKE_BUILD}}
# matioCpp
Expand Down Expand Up @@ -502,14 +482,6 @@ jobs:
cmake --build . --config ${{ matrix.build_type }} --target install -j${{env.NUM_CORES_FOR_CMAKE_BUILD}}
- name: Install manifpy [Ubuntu/macOS]
if: startsWith(matrix.os, 'ubuntu') || matrix.os == 'macos-latest'
run: |
git clone https://github.com/artivis/manif.git manifpy
cd manifpy
git checkout ${manif_TAG}
python3 -m pip install .
- name: Check Python setup
shell: bash
run: |
Expand Down Expand Up @@ -554,20 +526,6 @@ jobs:
-DENABLE_YarpRobotLoggerDevice:BOOL=ON \
-DFRAMEWORK_RUN_Valgrind_tests:BOOL=ON ..
- name: Configure [macOS]
if: matrix.os == 'macos-latest'
shell: bash
run: |
mkdir -p build
cd build
cmake -DCMAKE_PREFIX_PATH=${GITHUB_WORKSPACE}/install/deps \
-DCMAKE_INSTALL_PREFIX=${GITHUB_WORKSPACE}/install \
-DCMAKE_BUILD_TYPE=${{ matrix.build_type }} \
-DFRAMEWORK_COMPILE_PYTHON_BINDINGS:BOOL=ON \
-DPython3_ROOT_DIR=$(python -c "import sys; print(sys.prefix)") -DFRAMEWORK_USE_Python3:BOOL=ON -DFRAMEWORK_USE_pybind11:BOOL=ON \
-DFRAMEWORK_TEST_PYTHON_BINDINGS:BOOL=OFF \
-DBUILD_TESTING:BOOL=ON ..
- name: Check build if some dependencies are not enabled [Ubuntu]
if: github.event_name != 'push' && github.event_name != 'release' && matrix.os == 'ubuntu-20.04'
shell: bash
Expand Down Expand Up @@ -596,4 +554,4 @@ jobs:
run: |
cd build
export PATH=$PATH:/d/a/bipedal-locomotion-framework/bipedal-locomotion-framework/install/bin:/d/a/bipedal-locomotion-framework/bipedal-locomotion-framework/install/deps/bin:/c/robotology/vcpkg/installed/x64-windows/bin:/c/robotology/vcpkg/installed/x64-windows/debug/bin
ctest --output-on-failure -C ${{ matrix.build_type }} -j${{env.NUM_CORES_FOR_CMAKE_BUILD}} .
ctest -E "${BLF_TEST_TO_SKIP}" --output-on-failure -C ${{ matrix.build_type }} -j${{env.NUM_CORES_FOR_CMAKE_BUILD}} .
52 changes: 31 additions & 21 deletions .github/workflows/conda-forge-ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,11 @@ on:
# Execute a "nightly" build at 2 AM UTC
- cron: '0 2 * * *'

# Workaround for https://github.com/conda-forge/mumps-feedstock/issues/125
# and https://github.com/conda-forge/mumps-feedstock/pull/126#issuecomment-2355357834
env:
OMP_NUM_THREADS: 1

jobs:
build:
name: '[${{ matrix.os }}@${{ matrix.build_type }}@conda]'
Expand All @@ -21,11 +26,11 @@ jobs:
fail-fast: false

steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v4

- uses: conda-incubator/setup-miniconda@v2
with:
miniforge-variant: Mambaforge
miniforge-variant: Miniforge3
miniforge-version: latest
channels: conda-forge,robostack-staging
channel-priority: true
Expand All @@ -36,42 +41,40 @@ jobs:
# Workaround for https://github.com/conda-incubator/setup-miniconda/issues/186
conda config --remove channels defaults
# Dependencies
mamba install cmake compilers make ninja pkg-config \
"idyntree>=8.0.0" "yarp>=3.5.0" libmatio libmatio-cpp librobometry \
conda install cmake compilers make ninja pkg-config \
"idyntree>=12.2.1" "yarp>=3.5.0" libmatio libmatio-cpp librobometry \
liblie-group-controllers eigen qhull "casadi>=3.5.5" cppad spdlog \
nlohmann_json manif manifpy pybind11 numpy pytest scipy opencv pcl \
tomlplusplus libunicycle-footstep-planner "icub-models>=1.23.4" \
ros-humble-rclcpp onnxruntime-cpp libbayes-filters-lib
ros-humble-rclcpp onnxruntime-cpp libbayes-filters-lib cmake-package-check catch2
- name: Linux-only Dependencies [Linux]
if: contains(matrix.os, 'ubuntu')
shell: bash -l {0}
run: |
mamba install manifpy expat-cos6-x86_64 libselinux-cos6-x86_64 libxau-cos6-x86_64 libxcb-cos6-x86_64 \
libxdamage-cos6-x86_64 libxext-cos6-x86_64 libxfixes-cos6-x86_64 \
libxxf86vm-cos6-x86_64 mesalib mesa-libgl-cos6-x86_64 \
mesa-libgl-devel-cos6-x86_64
conda install manifpy mesa-libgl-devel-cos7-x86_64
- name: Windows-only Dependencies [Windows]
if: contains(matrix.os, 'windows')
shell: bash -l {0}
run: |
# Compilation related dependencies
mamba install vs2019_win-64
conda install vs2019_win-64
- name: Remove icub-models and pcl [Windows]
- name: Windows-workarounds [Windows]
if: contains(matrix.os, 'windows')
shell: bash -l {0}
shell: cmd /C CALL {0}
run: |
# Due to this https://github.com/conda-forge/icub-models-feedstock/issues/18
# pcl is removed as a workaround for https://github.com/ami-iit/bipedal-locomotion-framework/pull/695#issuecomment-1632208836
# pcl can be re-added once we have a ros humble build compatible with PCL 1.13.0
mamba remove icub-models pcl
:: Due to this https://github.com/conda-forge/icub-models-feedstock/issues/18
:: pcl is removed as a workaround for https://github.com/ami-iit/bipedal-locomotion-framework/pull/695#issuecomment-1632208836
:: pcl can be re-added once we have a ros humble build compatible with PCL 1.13.0
:: pybind11 constrained as workaround for https://github.com/conda-forge/pybind11-feedstock/issues/95
conda install "pybind11<2.12.0"
conda remove icub-models pcl
- name: Print used environment
shell: bash -l {0}
run: |
mamba list
conda list
env
- name: Configure [Linux&macOS]
Expand All @@ -80,8 +83,8 @@ jobs:
run: |
mkdir -p build
cd build
cmake -GNinja -DBUILD_TESTING:BOOL=ON -DFRAMEWORK_COMPILE_IK:BOOL=OFF \
-DFRAMEWORK_COMPILE_PYTHON_BINDINGS:BOOL=ON -DCMAKE_BUILD_TYPE=${{ matrix.build_type }} ..
cmake -GNinja -DBUILD_TESTING:BOOL=ON -DFRAMEWORK_COMPILE_IK:BOOL=OFF -DCMAKE_INSTALL_PREFIX=$CONDA_PREFIX \
-DFRAMEWORK_COMPILE_PYTHON_BINDINGS:BOOL=ON -DUSE_SYSTEM_Catch2:BOOL=ON -DCMAKE_BUILD_TYPE=${{ matrix.build_type }} ..
- name: Build [Linux&macOS]
if: contains(matrix.os, 'macos') || contains(matrix.os, 'ubuntu')
Expand All @@ -103,7 +106,7 @@ jobs:
run: |
mkdir -p build
cd build
cmake -GNinja -DBUILD_TESTING:BOOL=ON -DFRAMEWORK_COMPILE_PYTHON_BINDINGS:BOOL=ON -DCMAKE_BUILD_TYPE=${{ matrix.build_type }} ..
cmake -GNinja -DBUILD_TESTING:BOOL=ON -DFRAMEWORK_COMPILE_PYTHON_BINDINGS:BOOL=ON -DUSE_SYSTEM_Catch2:BOOL=ON -DCMAKE_INSTALL_PREFIX=%CONDA_PREFIX%\Library -DCMAKE_BUILD_TYPE=${{ matrix.build_type }} ..
- name: Build [Windows]
if: contains(matrix.os, 'windows')
Expand All @@ -118,3 +121,10 @@ jobs:
run: |
cd build
ctest --output-on-failure -C ${{ matrix.build_type }}
- name: Install and test installed package
shell: bash -l {0}
run: |
cd build
cmake --install . --config ${{ matrix.build_type }}
cmake-package-check BipedalLocomotionFramework --targets BipedalLocomotion::Framework
8 changes: 4 additions & 4 deletions .github/workflows/gh-pages.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,11 +9,11 @@ jobs:
build:
runs-on: ubuntu-20.04
steps:
- uses: actions/checkout@master
- uses: actions/checkout@v4

- uses: conda-incubator/setup-miniconda@v2
with:
miniforge-variant: Mambaforge
miniforge-variant: Miniforge3
miniforge-version: latest
channels: conda-forge
channel-priority: true
Expand All @@ -33,7 +33,7 @@ jobs:
conda config --remove channels defaults
# Dependencies
mamba install doxygen=1.9.1 toml pygments docutils jinja2
conda install doxygen=1.9.1 toml pygments docutils jinja2
- name: Fetch m.css
shell: bash -l {0}
Expand All @@ -51,7 +51,7 @@ jobs:
python3 ./generate_website.py --mcss_path ${GITHUB_WORKSPACE}/m.css/documentation/doxygen.py
- name: Archive artifacts
uses: actions/upload-artifact@v2
uses: actions/upload-artifact@v4
with:
name: site
path: docs/site
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/update-labeler-file.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ jobs:
get-version:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v4
- name: Update the labeler file
run: |
cd ./.ci
Expand Down
5 changes: 5 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,8 @@ build*
# IDEs
.idea*
.vscode*
.vs*
CMakeSettings.json

# ======
# Python (https://github.com/github/gitignore/blob/master/Python.gitignore)
Expand Down Expand Up @@ -155,3 +157,6 @@ dmypy.json

# Cython debug symbols
cython_debug/

# compile commands file for resolving includes
compile_commands.json
Loading

0 comments on commit 7de1c40

Please sign in to comment.