Skip to content

Commit 5bcefb9

Browse files
committed
Add build files 2026-07-27-2238
1 parent 8499c1d commit 5bcefb9

18 files changed

Lines changed: 1077 additions & 0 deletions

File tree

.github/workflows/win.yml

Lines changed: 102 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,102 @@
1+
jobs:
2+
stage_0_job_0:
3+
name: teleop-tools-msgs key-teleop mouse-teleop joy-teleop teleop-tools
4+
runs-on: windows-2022
5+
strategy:
6+
fail-fast: false
7+
needs: []
8+
env:
9+
CONDA_BLD_PATH: C:\\bld\\
10+
steps:
11+
- name: Checkout code
12+
uses: actions/checkout@v6
13+
- name: Setup pixi
14+
uses: prefix-dev/setup-pixi@v0.9.4
15+
with:
16+
pixi-version: v0.63.2
17+
cache: 'true'
18+
- uses: egor-tensin/cleanup-path@v4
19+
with:
20+
dirs: C:\Program Files\Git\usr\bin;C:\Program Files\Git\bin;C:\Program Files\Git\cmd;C:\Program
21+
Files\Git\mingw64\bin
22+
- shell: cmd
23+
run: |
24+
set "CI=true"
25+
26+
:: 4 cores available on GHA: https://docs.github.com/en/actions/using-github-hosted-runners/about-github-hosted-runners/about-github-hosted-runners
27+
:: CPU_COUNT is passed through conda build: https://github.com/conda/conda-build/pull/1149
28+
set CPU_COUNT=4
29+
30+
set PYTHONUNBUFFERED=1
31+
32+
call setup_x64
33+
34+
:: Set the conda-build working directory to a smaller path
35+
if "%CONDA_BLD_PATH%" == "" (
36+
set "CONDA_BLD_PATH=C:\\bld\\"
37+
)
38+
39+
:: On azure, there are libcrypto*.dll & libssl*.dll under
40+
:: C:\\Windows\\System32, which should not be there (no vendor dlls in windows folder).
41+
:: They would be found before the openssl libs of the conda environment, so we delete them.
42+
if defined CI (
43+
DEL C:\\Windows\\System32\\libcrypto-1_1-x64.dll || (Echo Ignoring failure to delete C:\\Windows\\System32\\libcrypto-1_1-x64.dll)
44+
DEL C:\\Windows\\System32\\libssl-1_1-x64.dll || (Echo Ignoring failure to delete C:\\Windows\\System32\\libssl-1_1-x64.dll)
45+
)
46+
47+
:: Make paths like C:\\hostedtoolcache\\windows\\Ruby\\2.5.7\\x64\\bin garbage
48+
set "PATH=%PATH:ostedtoolcache=%"
49+
name: conda-forge build setup
50+
- shell: cmd
51+
run: |
52+
setlocal EnableExtensions EnableDelayedExpansion
53+
54+
set CONDA_BLD_PATH=C:\bld
55+
echo "PATH is %PATH%"
56+
57+
rmdir /Q/S C:\Strawberry\
58+
rmdir /Q/S "C:\Program Files (x86)\Windows Kits\10\Include\10.0.17763.0\"
59+
60+
set "FEEDSTOCK_ROOT=%cd%"
61+
62+
mkdir %CONDA_BLD_PATH%
63+
64+
:: Enable long path names on Windows
65+
reg add HKLM\SYSTEM\CurrentControlSet\Control\FileSystem /v LongPathsEnabled /t REG_DWORD /d 1 /f
66+
67+
for %%X in (%CURRENT_RECIPES%) do (
68+
echo "BUILDING RECIPE %%X"
69+
cd %FEEDSTOCK_ROOT%\recipes\%%X\
70+
pixi run -v rattler-build build --recipe %FEEDSTOCK_ROOT%\recipes\%%X\ ^
71+
-m %FEEDSTOCK_ROOT%\conda_build_config.yaml ^
72+
-c robostack-jazzy -c conda-forge ^
73+
--output-dir %CONDA_BLD_PATH%
74+
75+
if errorlevel 1 exit 1
76+
rem -m %FEEDSTOCK_ROOT%\.ci_support\conda_forge_pinnings.yaml
77+
)
78+
79+
:: Check if .conda files exist in the win-64 directory
80+
if exist "%CONDA_BLD_PATH%\win-64\*.conda" (
81+
echo Found .conda files, starting upload...
82+
for %%F in ("%CONDA_BLD_PATH%\win-64\*.conda") do (
83+
echo Uploading %%F
84+
pixi run upload "%%F" --force
85+
if errorlevel 1 exit 1
86+
)
87+
) else (
88+
echo Warning: No .conda files found in %CONDA_BLD_PATH%\win-64
89+
echo This might be due to all the packages being skipped
90+
)
91+
env:
92+
ANACONDA_API_TOKEN: ${{ secrets.ANACONDA_API_TOKEN }}
93+
CURRENT_RECIPES: ros-jazzy-teleop-tools-msgs ros-jazzy-key-teleop ros-jazzy-mouse-teleop
94+
ros-jazzy-joy-teleop ros-jazzy-teleop-tools
95+
PYTHONUNBUFFERED: 1
96+
name: Build ros-jazzy-teleop-tools-msgs ros-jazzy-key-teleop ros-jazzy-mouse-teleop
97+
ros-jazzy-joy-teleop ros-jazzy-teleop-tools
98+
name: build_win
99+
on:
100+
push:
101+
branches:
102+
- buildbranch_win

buildorder.txt

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
ros-jazzy-teleop-tools-msgs
2+
ros-jazzy-key-teleop
3+
ros-jazzy-mouse-teleop
4+
ros-jazzy-joy-teleop
5+
ros-jazzy-teleop-tools
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
:: Generated by vinca http://github.com/RoboStack/vinca.
2+
:: DO NOT EDIT!
3+
setlocal
4+
5+
set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
6+
7+
pushd %SRC_DIR%\%PKG_NAME%\src\work\
8+
set "PKG_NAME_SHORT=%PKG_NAME:*ros-jazzy-=%"
9+
set "PKG_NAME_SHORT=%PKG_NAME_SHORT:-=_%"
10+
11+
:: If there is a setup.cfg that contains install-scripts then use pip to install
12+
findstr install[-_]scripts setup.cfg
13+
if "%errorlevel%" == "0" (
14+
%PYTHON% setup.py install --single-version-externally-managed --record=files.txt ^
15+
--prefix=%LIBRARY_PREFIX% ^
16+
--install-lib=%SP_DIR% ^
17+
--install-scripts=%LIBRARY_PREFIX%\lib\%PKG_NAME_SHORT%
18+
) else (
19+
%PYTHON% setup.py install --single-version-externally-managed --record=files.txt ^
20+
--prefix=%LIBRARY_PREFIX% ^
21+
--install-lib=%SP_DIR% ^
22+
--install-scripts=%LIBRARY_PREFIX%\bin
23+
)
24+
25+
if errorlevel 1 exit 1
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
# Generated by vinca http://github.com/RoboStack/vinca.
2+
# DO NOT EDIT!
3+
4+
set -eo pipefail
5+
6+
pushd $SRC_DIR/$PKG_NAME/src/work/
7+
8+
# If there is a setup.cfg that contains install-scripts then we should not set it here
9+
if [ -f setup.cfg ] && grep -q "install[-_]scripts" setup.cfg; then
10+
# Remove e.g. ros-humble- from PKG_NAME
11+
PKG_NAME_SHORT=${PKG_NAME#*ros-jazzy-}
12+
# Substitute "-" with "_"
13+
PKG_NAME_SHORT=${PKG_NAME_SHORT//-/_}
14+
INSTALL_SCRIPTS_ARG="--install-scripts=$PREFIX/lib/$PKG_NAME_SHORT"
15+
echo "WARNING: setup.cfg not set, will set INSTALL_SCRIPTS_ARG to: $INSTALL_SCRIPTS_ARG"
16+
$PYTHON setup.py install --prefix="$PREFIX" --install-lib="$SP_DIR" $INSTALL_SCRIPTS_ARG --single-version-externally-managed --record=files.txt
17+
else
18+
$PYTHON -m pip install . --no-deps -vvv
19+
fi
Lines changed: 101 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,101 @@
1+
# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
2+
3+
package:
4+
name: ros-jazzy-joy-teleop
5+
version: 2.0.0
6+
source:
7+
git: https://github.com/ros2-gbp/teleop_tools-release.git
8+
tag: release/jazzy/joy_teleop/2.0.0-1
9+
target_directory: ros-jazzy-joy-teleop/src/work
10+
11+
build:
12+
script: ${{ '$RECIPE_DIR/build_ament_python.sh' if unix or wasm32 else '%RECIPE_DIR%\\bld_ament_python.bat' }}
13+
number: 18
14+
post_process:
15+
- files:
16+
- '*.pc'
17+
regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
18+
replacement: $$(CONDA_BUILD_SYSROOT_S)
19+
- files:
20+
- '*.cmake'
21+
regex: ([^;\s"]+/sysroot)
22+
replacement: $$ENV{CONDA_BUILD_SYSROOT}
23+
- files:
24+
- '*.cmake'
25+
regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
26+
replacement: $$ENV{CONDA_BUILD_SYSROOT}
27+
about:
28+
license: BSD-3-Clause
29+
summary: A (to be) generic joystick interface to control a robot
30+
extra:
31+
recipe-maintainers:
32+
- ros-forge
33+
34+
requirements:
35+
build:
36+
- ${{ compiler('cxx') }}
37+
- ${{ compiler('c') }}
38+
- if: target_platform!='emscripten-wasm32'
39+
then:
40+
- ${{ stdlib('c') }}
41+
- ninja
42+
- python
43+
- setuptools
44+
- git
45+
- git-lfs
46+
- if: unix
47+
then:
48+
- patch
49+
- make
50+
- coreutils
51+
- if: win
52+
then:
53+
- m2-patch
54+
- if: osx
55+
then:
56+
- tapi
57+
- if: build_platform != target_platform
58+
then:
59+
- pkg-config
60+
- cmake
61+
- cython
62+
- if: build_platform != target_platform
63+
then:
64+
- python
65+
- cross-python_${{ target_platform }}
66+
- numpy
67+
host:
68+
- if: build_platform == target_platform
69+
then:
70+
- pkg-config
71+
- numpy
72+
- pip
73+
- python
74+
- ros-jazzy-ament-copyright
75+
- ros-jazzy-ament-flake8
76+
- ros-jazzy-ament-pep257
77+
- ros-jazzy-ament-xmllint
78+
- ros-jazzy-example-interfaces
79+
- ros-jazzy-geometry-msgs
80+
- ros-jazzy-launch-ros
81+
- ros-jazzy-launch-testing
82+
- ros-jazzy-ros-environment
83+
- ros-jazzy-ros-workspace
84+
- ros-jazzy-std-msgs
85+
- ros-jazzy-std-srvs
86+
- ros-jazzy-test-msgs
87+
- ros2-distro-mutex 0.15.* jazzy_*
88+
- setuptools
89+
run:
90+
- python
91+
- ros-jazzy-control-msgs
92+
- ros-jazzy-rclpy
93+
- ros-jazzy-ros-workspace
94+
- ros-jazzy-rosidl-runtime-py
95+
- ros-jazzy-sensor-msgs
96+
- ros-jazzy-teleop-tools-msgs
97+
- ros-jazzy-trajectory-msgs
98+
- ros2-distro-mutex 0.15.* jazzy_*
99+
- if: osx and x86_64
100+
then:
101+
- __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
:: Generated by vinca http://github.com/RoboStack/vinca.
2+
:: DO NOT EDIT!
3+
setlocal
4+
5+
set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
6+
7+
pushd %SRC_DIR%\%PKG_NAME%\src\work\
8+
set "PKG_NAME_SHORT=%PKG_NAME:*ros-jazzy-=%"
9+
set "PKG_NAME_SHORT=%PKG_NAME_SHORT:-=_%"
10+
11+
:: If there is a setup.cfg that contains install-scripts then use pip to install
12+
findstr install[-_]scripts setup.cfg
13+
if "%errorlevel%" == "0" (
14+
%PYTHON% setup.py install --single-version-externally-managed --record=files.txt ^
15+
--prefix=%LIBRARY_PREFIX% ^
16+
--install-lib=%SP_DIR% ^
17+
--install-scripts=%LIBRARY_PREFIX%\lib\%PKG_NAME_SHORT%
18+
) else (
19+
%PYTHON% setup.py install --single-version-externally-managed --record=files.txt ^
20+
--prefix=%LIBRARY_PREFIX% ^
21+
--install-lib=%SP_DIR% ^
22+
--install-scripts=%LIBRARY_PREFIX%\bin
23+
)
24+
25+
if errorlevel 1 exit 1
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
# Generated by vinca http://github.com/RoboStack/vinca.
2+
# DO NOT EDIT!
3+
4+
set -eo pipefail
5+
6+
pushd $SRC_DIR/$PKG_NAME/src/work/
7+
8+
# If there is a setup.cfg that contains install-scripts then we should not set it here
9+
if [ -f setup.cfg ] && grep -q "install[-_]scripts" setup.cfg; then
10+
# Remove e.g. ros-humble- from PKG_NAME
11+
PKG_NAME_SHORT=${PKG_NAME#*ros-jazzy-}
12+
# Substitute "-" with "_"
13+
PKG_NAME_SHORT=${PKG_NAME_SHORT//-/_}
14+
INSTALL_SCRIPTS_ARG="--install-scripts=$PREFIX/lib/$PKG_NAME_SHORT"
15+
echo "WARNING: setup.cfg not set, will set INSTALL_SCRIPTS_ARG to: $INSTALL_SCRIPTS_ARG"
16+
$PYTHON setup.py install --prefix="$PREFIX" --install-lib="$SP_DIR" $INSTALL_SCRIPTS_ARG --single-version-externally-managed --record=files.txt
17+
else
18+
$PYTHON -m pip install . --no-deps -vvv
19+
fi
Lines changed: 90 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,90 @@
1+
# yaml-language-server: $schema=https://raw.githubusercontent.com/prefix-dev/recipe-format/main/schema.json
2+
3+
package:
4+
name: ros-jazzy-key-teleop
5+
version: 2.0.0
6+
source:
7+
git: https://github.com/ros2-gbp/teleop_tools-release.git
8+
tag: release/jazzy/key_teleop/2.0.0-1
9+
target_directory: ros-jazzy-key-teleop/src/work
10+
11+
build:
12+
script: ${{ '$RECIPE_DIR/build_ament_python.sh' if unix or wasm32 else '%RECIPE_DIR%\\bld_ament_python.bat' }}
13+
number: 18
14+
post_process:
15+
- files:
16+
- '*.pc'
17+
regex: (?:-L|-I)?"?([^;\s]+/sysroot/)
18+
replacement: $$(CONDA_BUILD_SYSROOT_S)
19+
- files:
20+
- '*.cmake'
21+
regex: ([^;\s"]+/sysroot)
22+
replacement: $$ENV{CONDA_BUILD_SYSROOT}
23+
- files:
24+
- '*.cmake'
25+
regex: ([^;\s"]+/MacOSX\d*\.?\d*\.sdk)
26+
replacement: $$ENV{CONDA_BUILD_SYSROOT}
27+
about:
28+
license: BSD-3-Clause
29+
summary: A text-based interface to send a robot movement commands.
30+
extra:
31+
recipe-maintainers:
32+
- ros-forge
33+
34+
requirements:
35+
build:
36+
- ${{ compiler('cxx') }}
37+
- ${{ compiler('c') }}
38+
- if: target_platform!='emscripten-wasm32'
39+
then:
40+
- ${{ stdlib('c') }}
41+
- ninja
42+
- python
43+
- setuptools
44+
- git
45+
- git-lfs
46+
- if: unix
47+
then:
48+
- patch
49+
- make
50+
- coreutils
51+
- if: win
52+
then:
53+
- m2-patch
54+
- if: osx
55+
then:
56+
- tapi
57+
- if: build_platform != target_platform
58+
then:
59+
- pkg-config
60+
- cmake
61+
- cython
62+
- if: build_platform != target_platform
63+
then:
64+
- python
65+
- cross-python_${{ target_platform }}
66+
- numpy
67+
host:
68+
- if: build_platform == target_platform
69+
then:
70+
- pkg-config
71+
- numpy
72+
- pip
73+
- pytest
74+
- python
75+
- ros-jazzy-ament-copyright
76+
- ros-jazzy-ament-flake8
77+
- ros-jazzy-ament-pep257
78+
- ros-jazzy-ros-environment
79+
- ros-jazzy-ros-workspace
80+
- ros2-distro-mutex 0.15.* jazzy_*
81+
- setuptools
82+
run:
83+
- python
84+
- ros-jazzy-geometry-msgs
85+
- ros-jazzy-rclpy
86+
- ros-jazzy-ros-workspace
87+
- ros2-distro-mutex 0.15.* jazzy_*
88+
- if: osx and x86_64
89+
then:
90+
- __osx >=${{ MACOSX_DEPLOYMENT_TARGET|default('10.14') }}

0 commit comments

Comments
 (0)