Skip to content

Commit 4193968

Browse files
authored
Merge branch 'RoboStack:main' into main
2 parents da58bda + 1050b05 commit 4193968

File tree

73 files changed

+6750
-5565
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

73 files changed

+6750
-5565
lines changed

.github/workflows/testpr.yml

Lines changed: 41 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
on:
22
pull_request:
3-
paths:
4-
- '*.yaml'
3+
workflow_dispatch:
54

65
env:
76
ROS_VERSION: 2
@@ -14,14 +13,21 @@ jobs:
1413
include:
1514
- os: ubuntu-latest
1615
platform: linux-64
16+
additional_recipes:
17+
- "ros-jazzy-livox-ros-driver2"
1718
- os: ubuntu-24.04-arm
1819
platform: linux-aarch64
20+
additional_recipes:
21+
- "ros-jazzy-livox-ros-driver2"
1922
- os: macos-13
2023
platform: osx-64
24+
additional_recipes: []
2125
- os: macos-14
2226
platform: osx-arm64
23-
- os: windows-2019
27+
additional_recipes: []
28+
- os: windows-2022
2429
platform: win-64
30+
additional_recipes: []
2531

2632
runs-on: ${{ matrix.os }}
2733

@@ -31,9 +37,9 @@ jobs:
3137
persist-credentials: false # otherwise, the token used is the GITHUB_TOKEN, instead of your personal token
3238
fetch-depth: 0 # otherwise, you will failed to push refs to dest repo
3339

34-
- uses: prefix-dev/setup-pixi@v0.8.1
40+
- uses: prefix-dev/setup-pixi@v0.8.8
3541
with:
36-
pixi-version: v0.41.1
42+
pixi-version: v0.44.0
3743
environments: beta
3844
frozen: true
3945

@@ -56,58 +62,48 @@ jobs:
5662
rm -rf /c/Strawberry
5763
rm -rf "/c/Program Files (x86)/Windows Kits/10/Include/10.0.17763.0/"
5864
59-
- name: Check what files have changed
60-
id: filecheck
65+
66+
# Regression for https://github.com/RoboStack/ros-jazzy/issues/44
67+
- name: Check that anaconda-client command works fine
6168
shell: bash -l {0}
6269
run: |
63-
git fetch origin main
64-
# continue on error
65-
set +e
66-
git diff --exit-code --name-only origin/main -- vinca_linux_64.yaml > /dev/null
67-
echo "::set-output name=LINUX_YAML_CHANGED::${?}"
68-
git diff --exit-code --name-only origin/main -- vinca_linux_aarch64.yaml > /dev/null
69-
echo "::set-output name=LINUX_AARCH_YAML_CHANGED::${?}"
70-
git diff --exit-code --name-only origin/main -- vinca_osx.yaml > /dev/null
71-
echo "::set-output name=OSX_YAML_CHANGED::${?}"
72-
git diff --exit-code --name-only origin/main -- vinca_osx_arm64.yaml > /dev/null
73-
echo "::set-output name=OSX_ARM_YAML_CHANGED::${?}"
74-
git diff --exit-code --name-only origin/main -- vinca_win.yaml > /dev/null
75-
echo "::set-output name=WIN_YAML_CHANGED::${?}"
70+
pixi run anaconda --version
71+
7672
- name: Generate recipes for linux-64
7773
shell: bash -l {0}
78-
if: steps.filecheck.outputs.LINUX_YAML_CHANGED == 1 && matrix.platform == 'linux-64'
74+
if: matrix.platform == 'linux-64'
7975
run: |
8076
cp vinca_linux_64.yaml vinca.yaml
8177
mkdir -p recipes
8278
$HOME/.pixi/bin/pixi run -e beta -v vinca --platform linux-64 -m -n
8379
ls -la recipes
8480
- name: Generate recipes for linux-aarch64
8581
shell: bash -l {0}
86-
if: steps.filecheck.outputs.LINUX_AARCH_YAML_CHANGED == 1 && matrix.platform == 'linux-aarch64'
82+
if: matrix.platform == 'linux-aarch64'
8783
run: |
8884
cp vinca_linux_aarch64.yaml vinca.yaml
8985
mkdir -p recipes
9086
$HOME/.pixi/bin/pixi run -e beta -v vinca --platform linux-aarch64 -m -n
9187
ls -la recipes
9288
- name: Generate recipes for osx-64
9389
shell: bash -l {0}
94-
if: steps.filecheck.outputs.OSX_YAML_CHANGED == 1 && matrix.platform == 'osx-64'
90+
if: matrix.platform == 'osx-64'
9591
run: |
9692
cp vinca_osx.yaml vinca.yaml
9793
mkdir -p recipes
9894
$HOME/.pixi/bin/pixi run -e beta -v vinca --platform osx-64 -m -n
9995
ls -la recipes
10096
- name: Generate recipes for osx-arm64
10197
shell: bash -l {0}
102-
if: steps.filecheck.outputs.OSX_ARM_YAML_CHANGED == 1 && matrix.platform == 'osx-arm64'
98+
if: matrix.platform == 'osx-arm64'
10399
run: |
104100
cp vinca_osx_arm64.yaml vinca.yaml
105101
mkdir -p recipes
106102
$HOME/.pixi/bin/pixi run -e beta -v vinca --platform osx-arm64 -m -n
107103
ls -la recipes
108104
- name: Generate recipes for win-64
109105
shell: bash -l {0}
110-
if: steps.filecheck.outputs.WIN_YAML_CHANGED == 1 && matrix.platform == 'win-64'
106+
if: matrix.platform == 'win-64'
111107
run: |
112108
# Workaround for problem related to long paths
113109
echo "CONDA_BLD_PATH=C:\\bld\\" >> $GITHUB_ENV
@@ -116,41 +112,48 @@ jobs:
116112
mkdir -p recipes
117113
$HOME/.pixi/bin/pixi run -e beta -v vinca --platform win-64 -m -n
118114
ls -la recipes
115+
- name: Copy additional recipes which have been changed into recipes
116+
shell: bash -l {0}
117+
run: |
118+
echo '${{ toJson(matrix.additional_recipes) }}' | jq -r ".[]" | xargs -I@ cp -r additional_recipes/@ recipes/
119119
- name: Check if there are packages to be built
120120
id: newrecipecheck
121121
shell: bash -l {0}
122122
run: |
123-
# continue on error
123+
# Workaround for https://github.com/prefix-dev/rattler-build/issues/1535
124124
set +e
125-
test ! -d recipes
126-
echo "::set-output name=RECIPE_CREATED::${?}"
125+
if [ ! -d recipes ] || [ -z "$(ls -A recipes)" ]; then
126+
echo "RECIPE_CREATED=0" >> $GITHUB_OUTPUT
127+
else
128+
echo "RECIPE_CREATED=1" >> $GITHUB_OUTPUT
129+
fi
127130
- name: Build recipes for linux-64
128131
shell: bash -l {0}
129-
if: steps.newrecipecheck.outputs.RECIPE_CREATED == 1 && steps.filecheck.outputs.LINUX_YAML_CHANGED == 1 && matrix.platform == 'linux-64'
132+
if: steps.newrecipecheck.outputs.RECIPE_CREATED == 1 && matrix.platform == 'linux-64'
130133
run: |
131-
env -i $HOME/.pixi/bin/pixi run -e beta rattler-build build --recipe-dir additional_recipes --target-platform linux-64 -m ./conda_build_config.yaml -c robostack-jazzy -c conda-forge --skip-existing
134+
# env -i $HOME/.pixi/bin/pixi run -e beta rattler-build build --recipe-dir additional_recipes --target-platform linux-64 -m ./conda_build_config.yaml -c robostack-jazzy -c conda-forge --skip-existing
132135
env -i $HOME/.pixi/bin/pixi run -e beta rattler-build build --recipe-dir recipes --target-platform linux-64 -m ./conda_build_config.yaml -c robostack-jazzy -c conda-forge --skip-existing
133136
- name: Build recipes for linux-aarch64
134137
shell: bash -l {0}
135-
if: steps.newrecipecheck.outputs.RECIPE_CREATED == 1 && steps.filecheck.outputs.LINUX_AARCH_YAML_CHANGED == 1 && matrix.platform == 'linux-aarch64'
138+
if: steps.newrecipecheck.outputs.RECIPE_CREATED == 1 && matrix.platform == 'linux-aarch64'
136139
run: |
137-
env -i $HOME/.pixi/bin/pixi run -e beta rattler-build build --recipe-dir additional_recipes --target-platform linux-aarch64 -m ./conda_build_config.yaml -c robostack-jazzy -c conda-forge --skip-existing
140+
# env -i $HOME/.pixi/bin/pixi run -e beta rattler-build build --recipe-dir additional_recipes --target-platform linux-aarch64 -m ./conda_build_config.yaml -c robostack-jazzy -c conda-forge --skip-existing
138141
env -i $HOME/.pixi/bin/pixi run -e beta rattler-build build --recipe-dir recipes --target-platform linux-aarch64 -m ./conda_build_config.yaml -c robostack-jazzy -c conda-forge --skip-existing
139142
- name: Build recipes for osx-64
140143
shell: bash -l {0}
141-
if: steps.newrecipecheck.outputs.RECIPE_CREATED == 1 && steps.filecheck.outputs.OSX_YAML_CHANGED == 1 && matrix.platform == 'osx-64'
144+
if: steps.newrecipecheck.outputs.RECIPE_CREATED == 1 && matrix.platform == 'osx-64'
142145
run: |
143-
env -i $HOME/.pixi/bin/pixi run -e beta rattler-build build --recipe-dir additional_recipes --target-platform osx-64 -m ./conda_build_config.yaml -c robostack-jazzy -c conda-forge --skip-existing
146+
# env -i $HOME/.pixi/bin/pixi run -e beta rattler-build build --recipe-dir additional_recipes --target-platform osx-64 -m ./conda_build_config.yaml -c robostack-jazzy -c conda-forge --skip-existing
144147
env -i $HOME/.pixi/bin/pixi run -e beta rattler-build build --recipe-dir recipes --target-platform osx-64 -m ./conda_build_config.yaml -c robostack-jazzy -c conda-forge --skip-existing
145148
- name: Build recipes for osx-arm64
146149
shell: bash -l {0}
147-
if: steps.newrecipecheck.outputs.RECIPE_CREATED == 1 && steps.filecheck.outputs.OSX_ARM_YAML_CHANGED == 1 && matrix.platform == 'osx-arm64'
150+
if: steps.newrecipecheck.outputs.RECIPE_CREATED == 1 && matrix.platform == 'osx-arm64'
148151
run: |
149-
env -i $HOME/.pixi/bin/pixi run -e beta rattler-build build --recipe-dir additional_recipes --target-platform osx-arm64 -m ./conda_build_config.yaml -c robostack-jazzy -c conda-forge --skip-existing
152+
# env -i $HOME/.pixi/bin/pixi run -e beta rattler-build build --recipe-dir additional_recipes --target-platform osx-arm64 -m ./conda_build_config.yaml -c robostack-jazzy -c conda-forge --skip-existing
150153
env -i $HOME/.pixi/bin/pixi run -e beta rattler-build build --recipe-dir recipes --target-platform osx-arm64 -m ./conda_build_config.yaml -c robostack-jazzy -c conda-forge --skip-existing
151154
- name: Build recipes for win-64
152155
shell: bash -l {0}
153-
if: steps.newrecipecheck.outputs.RECIPE_CREATED == 1 && steps.filecheck.outputs.WIN_YAML_CHANGED == 1 && matrix.platform == 'win-64'
156+
if: steps.newrecipecheck.outputs.RECIPE_CREATED == 1 && matrix.platform == 'win-64'
154157
run: |
155-
$HOME/.pixi/bin/pixi run -e beta rattler-build build --recipe-dir additional_recipes --target-platform win-64 -m ./conda_build_config.yaml -c robostack-jazzy -c conda-forge --skip-existing
158+
# $HOME/.pixi/bin/pixi run -e beta rattler-build build --recipe-dir additional_recipes --target-platform win-64 -m ./conda_build_config.yaml -c robostack-jazzy -c conda-forge --skip-existing
156159
$HOME/.pixi/bin/pixi run -e beta rattler-build build --recipe-dir recipes --target-platform win-64 -m ./conda_build_config.yaml -c robostack-jazzy -c conda-forge --skip-existing

.scripts/build_linux.sh

Lines changed: 0 additions & 28 deletions
This file was deleted.

.scripts/build_osx.sh

Lines changed: 0 additions & 25 deletions
This file was deleted.

.scripts/build_osx_arm64.sh

Lines changed: 0 additions & 25 deletions
This file was deleted.

.scripts/build_unix.sh

Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
#!/usr/bin/env bash
2+
3+
# Default values
4+
target=""
5+
6+
# Parse arguments
7+
while [[ "$#" -gt 0 ]]; do
8+
case $1 in
9+
--target) target="$2"; shift ;; # Capture value for --target
10+
*) echo "Unknown parameter passed: $1"; exit 1 ;; # Handle invalid options
11+
esac
12+
shift
13+
done
14+
15+
set -xeuo pipefail
16+
export PYTHONUNBUFFERED=1
17+
18+
export FEEDSTOCK_ROOT=`pwd`
19+
export "CONDA_BLD_PATH=$HOME/conda-bld/"
20+
21+
curl -fsSL https://pixi.sh/install.sh | bash
22+
export PATH="$HOME/.pixi/bin:$PATH"
23+
24+
if [[ "$target" == *"osx"* ]]; then
25+
echo "osx"
26+
export PATH=$(echo $PATH | tr ":" "\n" | grep -v 'homebrew' | xargs | tr ' ' ':')
27+
fi
28+
29+
extra_channel=""
30+
cross_compile=""
31+
32+
for recipe in ${CURRENT_RECIPES[@]}; do
33+
pixi run -v rattler-build build \
34+
--recipe ${FEEDSTOCK_ROOT}/recipes/${recipe} \
35+
-m ${FEEDSTOCK_ROOT}/conda_build_config.yaml \
36+
-c robostack-jazzy -c conda-forge \
37+
${extra_channel} \
38+
--output-dir $CONDA_BLD_PATH \
39+
${cross_compile}
40+
# -m ${FEEDSTOCK_ROOT}/.ci_support/conda_forge_pinnings.yaml \
41+
42+
done
43+
44+
# Check if it build something, this is a hotfix for the skips inside additional_recipes
45+
if compgen -G "${CONDA_BLD_PATH}/${target}*/*.conda" > /dev/null; then
46+
pixi run upload "${CONDA_BLD_PATH}/${target}"*/*.conda --force
47+
else
48+
echo "Warning: No .conda files found in ${CONDA_BLD_PATH}/${target}"
49+
echo "This might be due to all the packages being skipped"
50+
fi
Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
1+
From 318d447b347d87ce2087c40dd6ad169643fc32d9 Mon Sep 17 00:00:00 2001
2+
From: wep21 <daisuke.nishimatsu1021@gmail.com>
3+
Date: Tue, 22 Apr 2025 21:53:53 +0900
4+
Subject: [PATCH] add package.xml
5+
6+
Signed-off-by: wep21 <daisuke.nishimatsu1021@gmail.com>
7+
---
8+
package.xml | 35 +++++++++++++++++++++++++++++++++++
9+
1 file changed, 35 insertions(+)
10+
create mode 100644 package.xml
11+
12+
diff --git a/package.xml b/package.xml
13+
new file mode 100644
14+
index 0000000..96f5762
15+
--- /dev/null
16+
+++ b/package.xml
17+
@@ -0,0 +1,35 @@
18+
+<?xml version="1.0"?>
19+
+<?xml-model href="http://download.ros.org/schema/package_format3.xsd" schematypens="http://www.w3.org/2001/XMLSchema"?>
20+
+<package format="3">
21+
+ <name>livox_ros_driver2</name>
22+
+ <version>1.0.0</version>
23+
+ <description>The ROS device driver for Livox 3D LiDARs, for ROS2</description>
24+
+ <maintainer email="dev@livoxtech.com">feng</maintainer>
25+
+ <license>MIT</license>
26+
+
27+
+ <buildtool_depend>ament_cmake_auto</buildtool_depend>
28+
+ <build_depend>rosidl_default_generators</build_depend>
29+
+ <member_of_group>rosidl_interface_packages</member_of_group>
30+
+
31+
+ <depend>rclcpp</depend>
32+
+ <depend>rclcpp_components</depend>
33+
+ <depend>std_msgs</depend>
34+
+ <depend>sensor_msgs</depend>
35+
+ <depend>rcutils</depend>
36+
+ <depend>pcl_conversions</depend>
37+
+ <depend>rcl_interfaces</depend>
38+
+ <depend>libpcl-all-dev</depend>
39+
+
40+
+ <exec_depend>rosbag2</exec_depend>
41+
+ <exec_depend>rosidl_default_runtime</exec_depend>
42+
+
43+
+ <test_depend>ament_lint_auto</test_depend>
44+
+ <test_depend>ament_lint_common</test_depend>
45+
+
46+
+ <depend>git</depend>
47+
+ <depend>apr</depend>
48+
+
49+
+ <export>
50+
+ <build_type>ament_cmake</build_type>
51+
+ </export>
52+
+</package>
53+
--
54+
2.39.5 (Apple Git-154)
55+
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
../../bld_ament_cmake.bat
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
../../build_ament_cmake.sh

0 commit comments

Comments
 (0)