Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

linux-64 - rebuild Christmas 2024 - switch to rattler-build #229

Open
wants to merge 60 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
60 commits
Select commit Hold shift + click to select a range
dbb99f9
build 7 - ros_core - linux_64
sonelu Aug 26, 2024
7593258
build 7 - ros_base - linux_64
sonelu Aug 26, 2024
f596530
build 7 - perception - linux_64
sonelu Aug 26, 2024
734b28a
cleanup of duplicate packages in the description of ros_core, ros_bas…
sonelu Aug 26, 2024
a6a5412
build 7 - simulation - linux_64
sonelu Aug 27, 2024
a64192b
build 7 - desktop - linux_64
sonelu Aug 27, 2024
b446058
build 7 - desktop_full - linux_64
sonelu Aug 27, 2024
bd6755d
all packs above --- end of package support ---
sonelu Sep 1, 2024
6055eb1
Sync with conda-forge pinnings
Tobias-Fischer Sep 18, 2024
83ce4cc
Sync with conda-forge pinnings
Tobias-Fischer Sep 18, 2024
90bb656
Bump version, fix string
Tobias-Fischer Sep 18, 2024
d83318e
Bump mutex
Tobias-Fischer Sep 18, 2024
eb89cd1
Cleanup
Tobias-Fischer Sep 18, 2024
aa6f3e0
Try fix mutex package not found
Tobias-Fischer Sep 18, 2024
41d1430
Try fix
Tobias-Fischer Sep 18, 2024
d64ae82
Fix?
Tobias-Fischer Sep 18, 2024
5e12c1e
Update testpr.yml
Tobias-Fischer Sep 18, 2024
04d0664
Test
Tobias-Fischer Sep 18, 2024
9c8ee17
Try fix
Tobias-Fischer Sep 18, 2024
b3c6d63
Try fix
Tobias-Fischer Sep 18, 2024
c07eda1
Fixup
Tobias-Fischer Sep 18, 2024
ab2582c
cleanup comments
sonelu Sep 18, 2024
a5073b4
cleanup comments
sonelu Sep 18, 2024
352119d
Fix backward_ros patch
traversaro Nov 28, 2024
4e59004
Delete patch/ros-humble-moveit-core.patch
traversaro Nov 28, 2024
3a8ee6c
Delete patch/ros-humble-moveit-resources-prbt-ikfast-manipulator-plug…
traversaro Nov 28, 2024
0742b27
Delete patch/ros-humble-moveit-simple-controller-manager.patch
traversaro Nov 28, 2024
6dfd619
Explicitly add ros_workspace to packages_select_by_deps as for some r…
traversaro Dec 17, 2024
f32a8cb
Update conda_build_config.yaml
traversaro Dec 17, 2024
cab2e61
Initial attempt to switch to rattler-build
traversaro Dec 17, 2024
c37f0ae
merge latest changes in sonelu's linux-64 branches
traversaro Dec 17, 2024
1eb787c
Use commit hash for vinca version
traversaro Dec 17, 2024
26f955f
Fix compatibility with latest rattler-build
traversaro Dec 17, 2024
4c0a3b2
Fix compatibility with rattler-build
traversaro Dec 18, 2024
3fcb6fd
Fix for rattler-build 0.32
traversaro Dec 18, 2024
7bb5dfb
Bump vinca version for rattler-build 0.32 support
traversaro Dec 18, 2024
164a49d
Remove patches that assume that PYTHON_INSTALL_DIR is an absolute path
traversaro Feb 10, 2024
8560574
Remove conflict leftover
traversaro Dec 18, 2024
4509e27
Refresh additional recipes and add geometric-shapes patch
traversaro Dec 18, 2024
87b901e
Add missing xorg-xorgproto package on libx11 dependency
traversaro Dec 18, 2024
7a02cd5
Backport PR 699 to ros-humble-slam-toolbox.patch
traversaro Dec 19, 2024
dbc6993
Update to rattler-build 0.33
traversaro Dec 19, 2024
915507b
Pin to modern libprotobuf version
traversaro Dec 19, 2024
06b1968
More rattler-build 0.33 fixes
traversaro Dec 19, 2024
cb8e3bf
Modern protobuf fix
traversaro Dec 19, 2024
038087a
Pin spdlog version
traversaro Dec 19, 2024
9ff3c89
fix typo
traversaro Dec 19, 2024
29fcde2
Update ros-humble-cartographer-ros.patch
traversaro Dec 19, 2024
f611fcd
Fix cartographer ros failure with glog 0.7.0
traversaro Dec 19, 2024
c400de2
Do not use cdt for OpenGL
traversaro Dec 19, 2024
1127826
Add missing rapidjson-dev rosdep key to robostack.yaml
traversaro Dec 19, 2024
357ebb4
Add missing devel dependenies to pcl-dev rosdep key
traversaro Dec 19, 2024
c50a699
Create ros-humble-moveit-ros-benchmarks.patch
Tobias-Fischer Dec 20, 2024
7d07903
Update patch
traversaro Dec 20, 2024
832d69a
Add missing xorg-xorgproto dependencies to libspnav-dev
traversaro Dec 21, 2024
bb7090d
incorporate changes from https://github.com/RoboStack/ros-humble/pull…
Tobias-Fischer Dec 22, 2024
9a83eba
Add x-compile fixes from https://github.com/RoboStack/ros-humble/pull…
Tobias-Fischer Dec 22, 2024
1511e12
Add initial tests
traversaro Dec 22, 2024
0927005
Avoid cmp0094 problems in webots-ros2-driver
traversaro Dec 22, 2024
7055749
Update ros-humble-fastrtps.patch
traversaro Dec 22, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
445 changes: 262 additions & 183 deletions .ci_support/conda_forge_pinnings.yaml

Large diffs are not rendered by default.

94 changes: 39 additions & 55 deletions .github/workflows/testpr.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@ jobs:
matrix:
os: [ubuntu-latest, macos-latest, macos-14, windows-2019]
platform: [linux-64, linux-aarch64, osx-64, win-64, osx-arm64]
environment: [beta]
exclude:
- os: ubuntu-latest
platform: win-64
Expand Down Expand Up @@ -46,25 +47,25 @@ jobs:
- os: windows-2019
platform: osx-arm64
steps:
- uses: actions/checkout@v4
with:
persist-credentials: false # otherwise, the token used is the GITHUB_TOKEN, instead of your personal token
fetch-depth: 0 # otherwise, you will failed to push refs to dest repo

- uses: prefix-dev/[email protected]
with:
environments: ${{ matrix.environment }}
frozen: true

# Workaround for https://github.com/RoboStack/ros-humble/pull/141#issuecomment-1941919816
- name: Clean up PATH
if: contains(matrix.os, 'windows')
uses: egor-tensin/cleanup-path@v4
with:
# cygpath in C:\Program Files\Git\usr\bin is used by install micromamba
# git in C:\Program Files\Git\bin is used by pip install git+
# git in C:\Program Files\Git\bin is used by pip install git+
dirs: 'C:\Program Files\Git\usr\bin;C:\Program Files\Git\bin;C:\Program Files\Git\cmd;C:\Program Files\Git\mingw64\bin'

- uses: actions/checkout@master
- name: install micromamba
uses: mamba-org/setup-micromamba@main
with:
environment-file: .github/testpr_environment.yml
condarc: |
channels:
- robostack-staging
- conda-forge

- shell: bash -l {0}
if: matrix.platform == 'linux-aarch64'
run: |
Expand All @@ -81,17 +82,6 @@ jobs:
sudo apt-get update
sudo apt-get install -y libgl1-mesa-dev libglu1-mesa-dev libx11-dev libxi-dev libxmu-dev

- shell: bash -l {0}
run: |
conda config --show channels | grep defaults && conda config --remove channels defaults
conda info
conda config --show
micromamba install -y pip rospkg networkx "catkin_pkg>=0.4.16" "ruamel.yaml>=0.16.6" "rosdistro>=0.8.0" "empy>=3.3.4" boa
- name: install vinca
shell: bash -l {0}
run: |
# use no-deps for now, otherwise problems with ruamel.
pip install git+https://github.com/RoboStack/vinca.git --no-deps
# For some reason, the Strawberry perl's pkg-config is found
# instead of the conda's one, so let's delete the /c/Strawberry directory
- name: Debug pkg-config problem
Expand Down Expand Up @@ -121,83 +111,77 @@ jobs:
shell: bash -l {0}
if: steps.filecheck.outputs.LINUX_YAML_CHANGED == 1 && matrix.os == 'ubuntu-latest' && matrix.platform == 'linux-64'
run: |
git clean -fdx
cp vinca_linux_64.yaml vinca.yaml
vinca --platform linux-64
ls
cat recipe.yaml
mkdir -p recipes
$HOME/.pixi/bin/pixi run -e beta -v vinca --platform linux-64 -m -n
ls -la recipes
- name: Generate recipes for linux-aarch64
shell: bash -l {0}
if: steps.filecheck.outputs.LINUX_AARCH_YAML_CHANGED == 1 && matrix.os == 'ubuntu-latest' && matrix.platform == 'linux-aarch64'
run: |
git clean -fdx
cp vinca_linux_aarch64.yaml vinca.yaml
vinca --platform linux-aarch64
ls
cat recipe.yaml
mkdir -p recipes
$HOME/.pixi/bin/pixi run -e beta -v vinca --platform linux-aarch64 -m -n
ls -la recipes
- name: Generate recipes for osx-64
shell: bash -l {0}
if: steps.filecheck.outputs.OSX_YAML_CHANGED == 1 && matrix.os == 'macos-latest' && matrix.platform == 'osx-64'
run: |
git clean -fdx
cp vinca_osx.yaml vinca.yaml
vinca --platform osx-64
ls
cat recipe.yaml
mkdir -p recipes
$HOME/.pixi/bin/pixi run -e beta -v vinca --platform osx-64 -m -n
ls -la recipes
- name: Generate recipes for osx-arm64
shell: bash -l {0}
if: steps.filecheck.outputs.OSX_ARM_YAML_CHANGED == 1 && matrix.os == 'macos-14' && matrix.platform == 'osx-arm64'
run: |
git clean -fdx
cp vinca_osx_arm64.yaml vinca.yaml
vinca --platform osx-arm64
ls
cat recipe.yaml
mkdir -p recipes
$HOME/.pixi/bin/pixi run -e beta -v vinca --platform osx-arm64 -m -n
ls -la recipes
- name: Generate recipes for win-64
shell: bash -l {0}
if: steps.filecheck.outputs.WIN_YAML_CHANGED == 1 && matrix.os == 'windows-2019' && matrix.platform == 'win-64'
run: |
echo "CONDA_BLD_PATH=C:\\bld\\" >> $GITHUB_ENV
git clean -fdx
cp vinca_win.yaml vinca.yaml
vinca --platform win-64
ls
cat recipe.yaml
mkdir -p recipes
$HOME/.pixi/bin/pixi run -e beta -v vinca --platform win-64 -m -n
ls -la recipes cp vinca_win.yaml vinca.yaml
- name: Check if there are packages to be built
id: newrecipecheck
shell: bash -l {0}
run: |
# continue on error
set +e
grep -q "outputs: \[\]" recipe.yaml > /dev/null
test ! -d recipes
echo "::set-output name=RECIPE_CREATED::${?}"
- name: Build recipes for linux-64
shell: bash -l {0}
run: |
boa build additional_recipes/ros2-distro-mutex/ -m ./.ci_support/conda_forge_pinnings.yaml -m ./conda_build_config.yaml
boa build . -m ./.ci_support/conda_forge_pinnings.yaml -m ./conda_build_config.yaml
if: steps.newrecipecheck.outputs.RECIPE_CREATED == 1 && steps.filecheck.outputs.LINUX_YAML_CHANGED == 1 && matrix.os == 'ubuntu-latest' && matrix.platform == 'linux-64'
run: |
env -i $HOME/.pixi/bin/pixi run -e beta rattler-build build --recipe additional_recipes/ros2-distro-mutex/ -m ./conda_build_config.yaml -c robostack-staging -c conda-forge --skip-existing
env -i $HOME/.pixi/bin/pixi run -e beta rattler-build build --recipe-dir recipes -m ./conda_build_config.yaml -c robostack-staging -c conda-forge --skip-existing
- name: Build recipes for linux-aarch64
shell: bash -l {0}
if: steps.newrecipecheck.outputs.RECIPE_CREATED == 1 && steps.filecheck.outputs.LINUX_AARCH_YAML_CHANGED == 1 && matrix.os == 'ubuntu-latest' && matrix.platform == 'linux-aarch64'
run: |
boa build additional_recipes/ros2-distro-mutex/ -m ./.ci_support/conda_forge_pinnings.yaml -m ./conda_build_config.yaml --target-platform=linux-aarch64
boa build . -m ./.ci_support/conda_forge_pinnings.yaml -m ./conda_build_config.yaml --target-platform=linux-aarch64
env -i $HOME/.pixi/bin/pixi run -e beta rattler-build build --recipe additional_recipes/ros2-distro-mutex/ -m ./conda_build_config.yaml -c robostack-staging -c conda-forge --skip-existing
env -i $HOME/.pixi/bin/pixi run -e beta rattler-build build --recipe-dir recipes -m ./conda_build_config.yaml -c robostack-staging -c conda-forge --skip-existing
- name: Build recipes for osx-64
shell: bash -l {0}
if: steps.newrecipecheck.outputs.RECIPE_CREATED == 1 && steps.filecheck.outputs.OSX_YAML_CHANGED == 1 && matrix.os == 'macos-latest' && matrix.platform == 'osx-64'
run: |
boa build additional_recipes/ros2-distro-mutex/ -m ./.ci_support/conda_forge_pinnings.yaml -m ./conda_build_config.yaml
boa build . -m ./.ci_support/conda_forge_pinnings.yaml -m ./conda_build_config.yaml
env -i $HOME/.pixi/bin/pixi run -e beta rattler-build build --recipe additional_recipes/ros2-distro-mutex/ -m ./conda_build_config.yaml -c robostack-staging -c conda-forge --skip-existing
env -i $HOME/.pixi/bin/pixi run -e beta rattler-build build --recipe-dir recipes -m ./conda_build_config.yaml -c robostack-staging -c conda-forge --skip-existing
- name: Build recipes for osx-arm64
shell: bash -l {0}
if: steps.newrecipecheck.outputs.RECIPE_CREATED == 1 && steps.filecheck.outputs.OSX_ARM_YAML_CHANGED == 1 && matrix.os == 'macos-14' && matrix.platform == 'osx-arm64'
run: |
boa build additional_recipes/ros2-distro-mutex/ -m ./.ci_support/conda_forge_pinnings.yaml -m ./conda_build_config.yaml --target-platform=osx-arm64
boa build . -m ./.ci_support/conda_forge_pinnings.yaml -m ./conda_build_config.yaml
env -i $HOME/.pixi/bin/pixi run -e beta rattler-build build --recipe additional_recipes/ros2-distro-mutex/ -m ./conda_build_config.yaml -c robostack-staging -c conda-forge --skip-existing
env -i $HOME/.pixi/bin/pixi run -e beta rattler-build build --recipe-dir recipes -m ./conda_build_config.yaml -c robostack-staging -c conda-forge --skip-existing
- name: Build recipes for win-64
shell: bash -l {0}
if: steps.newrecipecheck.outputs.RECIPE_CREATED == 1 && steps.filecheck.outputs.WIN_YAML_CHANGED == 1 && matrix.os == 'windows-2019' && matrix.platform == 'win-64'
run: |
boa build additional_recipes/ros2-distro-mutex/ -m ./.ci_support/conda_forge_pinnings.yaml -m ./conda_build_config.yaml
boa build . -m ./.ci_support/conda_forge_pinnings.yaml -m ./conda_build_config.yaml
env -i $HOME/.pixi/bin/pixi run -e beta rattler-build build --recipe additional_recipes/ros2-distro-mutex/ -m ./conda_build_config.yaml -c robostack-staging -c conda-forge --skip-existing
env -i $HOME/.pixi/bin/pixi run -e beta rattler-build build --recipe-dir recipes -m ./conda_build_config.yaml -c robostack-staging -c conda-forge --skip-existing
8 changes: 4 additions & 4 deletions additional_recipes/ros-humble-octomap/recipe.yaml
Original file line number Diff line number Diff line change
@@ -1,17 +1,17 @@
package:
name: ros-humble-octomap
version: "1.9.8"
version: "1.10.0"

build:
number: 2
number: 0

requirements:
run:
- octomap 1.9.*
- octomap 1.10.*


about:
home: https://github.com/conda-forge/octomap-feedstock
homepage: https://github.com/conda-forge/octomap-feedstock
license: BSD-3-Clause
summary: |
An Efficient Probabilistic 3D Mapping Framework Based on Octrees
Expand Down
6 changes: 3 additions & 3 deletions additional_recipes/ros-humble-urdfdom-py/recipe.yaml
Original file line number Diff line number Diff line change
@@ -1,16 +1,16 @@
package:
name: ros-humble-urdfdom-py
version: "1.2.0"
version: "1.2.1"

build:
number: 2

requirements:
run:
- urdfdom-py 1.2.0
- urdfdom-py 1.2.1.*

about:
home: https://github.com/ros/urdf_parser_py
homepage: https://github.com/ros/urdf_parser_py
license: BSD-3-Clause
summary: |
Standalone URDF parser for Python.
Expand Down
30 changes: 17 additions & 13 deletions additional_recipes/ros2-distro-mutex/recipe.yaml
Original file line number Diff line number Diff line change
@@ -1,13 +1,12 @@
package:
name: ros2-distro-mutex
version: 0.5.0
version: 0.6.0

build:
number: 0
string: humble
run_exports:
weak:
- "{{ pin_subpackage('ros2-distro-mutex', max_pin='x.x') }}"
# Note: keep in sync with build number
# Cannot be done automatically, see https://github.com/mamba-org/boa/issues/278
string: humble_0

requirements:
# NOTE:
Expand All @@ -16,7 +15,7 @@ requirements:
# packages. Therefore I am currently manually adding them to run_constrained.
# This has to be synchronized with our current conda_build_config all the time :(
# host:
# # values here should
# # values here should
# - log4cxx
# - poco
# - pcl
Expand All @@ -28,15 +27,20 @@ requirements:
# values here should be applied from run_exports!
# if the upstream package does not have run_exports
# please change it in the conda_build_config.yaml!
run_constrained:
- libboost 1.82
- libboost-devel 1.82
- pcl 1.13.1
- gazebo 11
- libpqxx 6
run_constraints:
- libboost 1.86.*
- libboost-devel 1.86.*
- pcl 1.14.1.*
- gazebo 11.*
- libprotobuf 5.28.2.*

run_exports:
weak:
- ${{ pin_subpackage('ros2-distro-mutex', upper_bound='x.x') }}


about:
home: https://github.com/robostack/ros-humble
homepage: https://github.com/robostack/ros-humble
license: BSD-3-Clause
summary: |
The ROS2 distro mutex. To switch between ROS2 versions, you need to change the mutex.
Expand Down
62 changes: 18 additions & 44 deletions conda_build_config.yaml
Original file line number Diff line number Diff line change
@@ -1,51 +1,25 @@
gazebo:
- '11'
libpqxx:
- 6
numpy:
- 1.23
ogre:
- 1.12.*
setuptools:
- 69

cdt_name: # [linux]
- cos7 # [linux]
- 1.26
libprotobuf:
- 5.28.2
protobuf:
- 5.28.2
spdlog:
- 1.14

cdt_name:
- ${{ "cos7" if linux }}

python:
- 3.11.* *_cpython
python_impl:
- cpython

# Project overrides
macos_min_version: # [osx and x86_64]
- 10.14 # [osx and x86_64]
macos_machine: # [osx]
- x86_64-apple-darwin13.4.0 # [osx and x86_64]
- arm64-apple-darwin20.0.0 # [osx and arm64]
MACOSX_DEPLOYMENT_TARGET: # [osx]
- 11.0 # [osx and arm64]
- 10.14 # [osx and x86_64]
CONDA_BUILD_SYSROOT:
- /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk # [osx and arm64]


# fix build metadata, needed for mapviz and moveit-core
replacements:
all_replacements:
- tag: 'pkg-config build metadata'
glob_patterns:
- '*.pc'
regex_re: '(?:-L|-I)?\"?([^;\s]+\/sysroot\/)'
replacement_re: '$(CONDA_BUILD_SYSROOT_S)'
regex_rg: '([^;\s"]+/sysroot/)'
- tag: 'CMake build metadata'
glob_patterns:
- '*.cmake'
regex_re: '([^;\s"]+/sysroot)'
replacement_re: '$ENV{CONDA_BUILD_SYSROOT}'
- tag: 'CMake build metadata OSX'
glob_patterns:
- '*.cmake'
regex_re: '([^;\s"]+/MacOSX\d*\.?\d*\.sdk)'
replacement_re: '$ENV{CONDA_BUILD_SYSROOT}'
c_stdlib:
- ${{ "sysroot" if linux }}
- ${{ "macosx_deployment_target" if osx }}
- ${{ "vs" if win }}
c_stdlib_version:
- ${{ "2.17" if linux }}
- ${{ "10.14" if osx and x86_64 }}
- ${{ "11.0" if osx and arm64 }}
Loading
Loading