Skip to content

Commit 591dcbf

Browse files
committed
Add build files 2026-06-13-1715
1 parent f436340 commit 591dcbf

46 files changed

Lines changed: 61962 additions & 0 deletions

File tree

Some content is hidden

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

.github/workflows/win.yml

Lines changed: 218 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,218 @@
1+
jobs:
2+
stage_0_job_0:
3+
name: smclib bond ur-client-library point-cloud-interfaces nav2-minimal-tb4-description
4+
twist-stamper nav2-minimal-tb3-sim
5+
runs-on: windows-2022
6+
strategy:
7+
fail-fast: false
8+
needs: []
9+
env:
10+
CONDA_BLD_PATH: C:\\bld\\
11+
VINCA_CUSTOM_CMAKE_BUILD_DIR: C:\\x\\
12+
steps:
13+
- name: Checkout code
14+
uses: actions/checkout@v6
15+
- name: Setup pixi
16+
uses: prefix-dev/setup-pixi@v0.9.4
17+
with:
18+
pixi-version: v0.63.2
19+
cache: 'true'
20+
- uses: egor-tensin/cleanup-path@v5
21+
with:
22+
dirs: C:\Program Files\Git\usr\bin;C:\Program Files\Git\bin;C:\Program Files\Git\cmd;C:\Program
23+
Files\Git\mingw64\bin
24+
- shell: cmd
25+
run: |
26+
set "CI=true"
27+
28+
:: 4 cores available on GHA: https://docs.github.com/en/actions/using-github-hosted-runners/about-github-hosted-runners/about-github-hosted-runners
29+
:: CPU_COUNT is passed through conda build: https://github.com/conda/conda-build/pull/1149
30+
set CPU_COUNT=4
31+
32+
set PYTHONUNBUFFERED=1
33+
34+
call setup_x64
35+
36+
:: Set the conda-build working directory to a smaller path
37+
if "%CONDA_BLD_PATH%" == "" (
38+
set "CONDA_BLD_PATH=C:\\bld\\"
39+
)
40+
41+
:: On azure, there are libcrypto*.dll & libssl*.dll under
42+
:: C:\\Windows\\System32, which should not be there (no vendor dlls in windows folder).
43+
:: They would be found before the openssl libs of the conda environment, so we delete them.
44+
if defined CI (
45+
DEL C:\\Windows\\System32\\libcrypto-1_1-x64.dll || (Echo Ignoring failure to delete C:\\Windows\\System32\\libcrypto-1_1-x64.dll)
46+
DEL C:\\Windows\\System32\\libssl-1_1-x64.dll || (Echo Ignoring failure to delete C:\\Windows\\System32\\libssl-1_1-x64.dll)
47+
)
48+
49+
:: Make paths like C:\\hostedtoolcache\\windows\\Ruby\\2.5.7\\x64\\bin garbage
50+
set "PATH=%PATH:ostedtoolcache=%"
51+
name: conda-forge build setup
52+
- shell: cmd
53+
run: |
54+
setlocal EnableExtensions EnableDelayedExpansion
55+
56+
set CONDA_BLD_PATH=C:\bld
57+
echo "PATH is %PATH%"
58+
59+
rmdir /Q/S C:\Strawberry\
60+
rmdir /Q/S "C:\Program Files (x86)\Windows Kits\10\Include\10.0.17763.0\"
61+
62+
set "FEEDSTOCK_ROOT=%cd%"
63+
64+
mkdir %CONDA_BLD_PATH%
65+
66+
:: Enable long path names on Windows
67+
reg add HKLM\SYSTEM\CurrentControlSet\Control\FileSystem /v LongPathsEnabled /t REG_DWORD /d 1 /f
68+
69+
for %%X in (%CURRENT_RECIPES%) do (
70+
echo "BUILDING RECIPE %%X"
71+
cd %FEEDSTOCK_ROOT%\recipes\%%X\
72+
pixi run -v rattler-build build --recipe %FEEDSTOCK_ROOT%\recipes\%%X\ ^
73+
-m %FEEDSTOCK_ROOT%\conda_build_config.yaml ^
74+
-c https://prefix.dev/robostack-rolling -c https://prefix.dev/conda-forge ^
75+
--output-dir %CONDA_BLD_PATH%
76+
77+
if errorlevel 1 exit 1
78+
rem -m %FEEDSTOCK_ROOT%\.ci_support\conda_forge_pinnings.yaml
79+
)
80+
81+
:: Check if .conda files exist in the win-64 directory
82+
if exist "%CONDA_BLD_PATH%\win-64\*.conda" (
83+
echo Found .conda files, starting upload...
84+
rem Upload packages one-by-one to avoid rattler-upload returning after the first
85+
rem package skipped by --skip-existing.
86+
for %%F in ("%CONDA_BLD_PATH%\win-64\*.conda") do (
87+
echo Uploading %%~fF
88+
pixi run upload "%%~fF" --skip-existing
89+
if errorlevel 1 exit 1
90+
)
91+
) else (
92+
echo Warning: No .conda files found in %CONDA_BLD_PATH%\win-64
93+
echo This might be due to all the packages being skipped
94+
)
95+
env:
96+
ANACONDA_API_TOKEN: ${{ secrets.ANACONDA_API_TOKEN }}
97+
CURRENT_RECIPES: ros-rolling-smclib ros-rolling-bond ros-rolling-ur-client-library
98+
ros-rolling-point-cloud-interfaces ros-rolling-nav2-minimal-tb4-description
99+
ros-rolling-twist-stamper ros-rolling-nav2-minimal-tb3-sim
100+
PYTHONUNBUFFERED: 1
101+
name: Build ros-rolling-smclib ros-rolling-bond ros-rolling-ur-client-library
102+
ros-rolling-point-cloud-interfaces ros-rolling-nav2-minimal-tb4-description
103+
ros-rolling-twist-stamper ros-rolling-nav2-minimal-tb3-sim
104+
permissions:
105+
id-token: write
106+
attestations: write
107+
stage_1_job_1:
108+
name: bondcpp zstd-point-cloud-transport zlib-point-cloud-transport draco-point-cloud-transport
109+
nav2-minimal-tb4-sim point-cloud-transport-plugins bond-core
110+
runs-on: windows-2022
111+
strategy:
112+
fail-fast: false
113+
needs:
114+
- stage_0_job_0
115+
env:
116+
CONDA_BLD_PATH: C:\\bld\\
117+
VINCA_CUSTOM_CMAKE_BUILD_DIR: C:\\x\\
118+
steps:
119+
- name: Checkout code
120+
uses: actions/checkout@v6
121+
- name: Setup pixi
122+
uses: prefix-dev/setup-pixi@v0.9.4
123+
with:
124+
pixi-version: v0.63.2
125+
cache: 'true'
126+
- uses: egor-tensin/cleanup-path@v5
127+
with:
128+
dirs: C:\Program Files\Git\usr\bin;C:\Program Files\Git\bin;C:\Program Files\Git\cmd;C:\Program
129+
Files\Git\mingw64\bin
130+
- shell: cmd
131+
run: |
132+
set "CI=true"
133+
134+
:: 4 cores available on GHA: https://docs.github.com/en/actions/using-github-hosted-runners/about-github-hosted-runners/about-github-hosted-runners
135+
:: CPU_COUNT is passed through conda build: https://github.com/conda/conda-build/pull/1149
136+
set CPU_COUNT=4
137+
138+
set PYTHONUNBUFFERED=1
139+
140+
call setup_x64
141+
142+
:: Set the conda-build working directory to a smaller path
143+
if "%CONDA_BLD_PATH%" == "" (
144+
set "CONDA_BLD_PATH=C:\\bld\\"
145+
)
146+
147+
:: On azure, there are libcrypto*.dll & libssl*.dll under
148+
:: C:\\Windows\\System32, which should not be there (no vendor dlls in windows folder).
149+
:: They would be found before the openssl libs of the conda environment, so we delete them.
150+
if defined CI (
151+
DEL C:\\Windows\\System32\\libcrypto-1_1-x64.dll || (Echo Ignoring failure to delete C:\\Windows\\System32\\libcrypto-1_1-x64.dll)
152+
DEL C:\\Windows\\System32\\libssl-1_1-x64.dll || (Echo Ignoring failure to delete C:\\Windows\\System32\\libssl-1_1-x64.dll)
153+
)
154+
155+
:: Make paths like C:\\hostedtoolcache\\windows\\Ruby\\2.5.7\\x64\\bin garbage
156+
set "PATH=%PATH:ostedtoolcache=%"
157+
name: conda-forge build setup
158+
- shell: cmd
159+
run: |
160+
setlocal EnableExtensions EnableDelayedExpansion
161+
162+
set CONDA_BLD_PATH=C:\bld
163+
echo "PATH is %PATH%"
164+
165+
rmdir /Q/S C:\Strawberry\
166+
rmdir /Q/S "C:\Program Files (x86)\Windows Kits\10\Include\10.0.17763.0\"
167+
168+
set "FEEDSTOCK_ROOT=%cd%"
169+
170+
mkdir %CONDA_BLD_PATH%
171+
172+
:: Enable long path names on Windows
173+
reg add HKLM\SYSTEM\CurrentControlSet\Control\FileSystem /v LongPathsEnabled /t REG_DWORD /d 1 /f
174+
175+
for %%X in (%CURRENT_RECIPES%) do (
176+
echo "BUILDING RECIPE %%X"
177+
cd %FEEDSTOCK_ROOT%\recipes\%%X\
178+
pixi run -v rattler-build build --recipe %FEEDSTOCK_ROOT%\recipes\%%X\ ^
179+
-m %FEEDSTOCK_ROOT%\conda_build_config.yaml ^
180+
-c https://prefix.dev/robostack-rolling -c https://prefix.dev/conda-forge ^
181+
--output-dir %CONDA_BLD_PATH%
182+
183+
if errorlevel 1 exit 1
184+
rem -m %FEEDSTOCK_ROOT%\.ci_support\conda_forge_pinnings.yaml
185+
)
186+
187+
:: Check if .conda files exist in the win-64 directory
188+
if exist "%CONDA_BLD_PATH%\win-64\*.conda" (
189+
echo Found .conda files, starting upload...
190+
rem Upload packages one-by-one to avoid rattler-upload returning after the first
191+
rem package skipped by --skip-existing.
192+
for %%F in ("%CONDA_BLD_PATH%\win-64\*.conda") do (
193+
echo Uploading %%~fF
194+
pixi run upload "%%~fF" --skip-existing
195+
if errorlevel 1 exit 1
196+
)
197+
) else (
198+
echo Warning: No .conda files found in %CONDA_BLD_PATH%\win-64
199+
echo This might be due to all the packages being skipped
200+
)
201+
env:
202+
ANACONDA_API_TOKEN: ${{ secrets.ANACONDA_API_TOKEN }}
203+
CURRENT_RECIPES: ros-rolling-bondcpp ros-rolling-zstd-point-cloud-transport
204+
ros-rolling-zlib-point-cloud-transport ros-rolling-draco-point-cloud-transport
205+
ros-rolling-nav2-minimal-tb4-sim ros-rolling-point-cloud-transport-plugins
206+
ros-rolling-bond-core
207+
PYTHONUNBUFFERED: 1
208+
name: Build ros-rolling-bondcpp ros-rolling-zstd-point-cloud-transport ros-rolling-zlib-point-cloud-transport
209+
ros-rolling-draco-point-cloud-transport ros-rolling-nav2-minimal-tb4-sim ros-rolling-point-cloud-transport-plugins
210+
ros-rolling-bond-core
211+
permissions:
212+
id-token: write
213+
attestations: write
214+
name: build_win
215+
on:
216+
push:
217+
branches:
218+
- buildbranch_win

buildorder.txt

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
ros-rolling-smclib
2+
ros-rolling-bond
3+
ros-rolling-ur-client-library
4+
ros-rolling-point-cloud-interfaces
5+
ros-rolling-nav2-minimal-tb4-description
6+
ros-rolling-twist-stamper
7+
ros-rolling-nav2-minimal-tb3-sim
8+
ros-rolling-bondcpp
9+
ros-rolling-zstd-point-cloud-transport
10+
ros-rolling-zlib-point-cloud-transport
11+
ros-rolling-draco-point-cloud-transport
12+
ros-rolling-nav2-minimal-tb4-sim
13+
ros-rolling-point-cloud-transport-plugins
14+
ros-rolling-bond-core
Lines changed: 61 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,61 @@
1+
:: Generated by vinca http://github.com/RoboStack/vinca.
2+
:: DO NOT EDIT!
3+
setlocal EnableDelayedExpansion
4+
5+
set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%"
6+
7+
:: MSVC is preferred.
8+
set CC=cl.exe
9+
set CXX=cl.exe
10+
11+
:: If defined, can use a custom CMake build directory which can be useful
12+
:: to avoid too long path problems on windows
13+
if defined VINCA_CUSTOM_CMAKE_BUILD_DIR (
14+
if not exist "%VINCA_CUSTOM_CMAKE_BUILD_DIR%\" (
15+
mkdir "%VINCA_CUSTOM_CMAKE_BUILD_DIR%"
16+
)
17+
cd /d "%VINCA_CUSTOM_CMAKE_BUILD_DIR%"
18+
)
19+
rd /s /q build
20+
mkdir build
21+
pushd build
22+
23+
:: set "CMAKE_GENERATOR=Ninja"
24+
:: We use the Visual Studio generator as a workaround for
25+
:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467
26+
:: Once those are solved, we can switch back to use Ninja
27+
set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%"
28+
29+
:: PYTHON_INSTALL_DIR should be a relative path, see
30+
:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md
31+
:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX,
32+
:: but it is not trivial to do this in Command Prompt scripting, so let's do it via
33+
:: python
34+
35+
:: This line is scary, but it basically assigns the output of the command inside (` and `)
36+
:: to the variable specified after DO SET
37+
:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...`
38+
FOR /F "tokens=* USEBACKQ" %%i IN (`python -c "import os;print(os.path.relpath(os.environ['SP_DIR'],os.environ['LIBRARY_PREFIX']).replace('\\','/'))"`) DO SET PYTHON_INSTALL_DIR=%%i
39+
40+
cmake ^
41+
-G "%CMAKE_GENERATOR%" ^
42+
-DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^
43+
-DCMAKE_BUILD_TYPE=Release ^
44+
-DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^
45+
-DPYTHON_EXECUTABLE=%PYTHON% ^
46+
-DPython_EXECUTABLE=%PYTHON% ^
47+
-DPython3_EXECUTABLE=%PYTHON% ^
48+
-DSETUPTOOLS_DEB_LAYOUT=OFF ^
49+
-DBUILD_SHARED_LIBS=ON ^
50+
-DBUILD_TESTING=OFF ^
51+
-DCMAKE_OBJECT_PATH_MAX=255 ^
52+
--compile-no-warning-as-error ^
53+
-DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^
54+
^
55+
%SRC_DIR%\%PKG_NAME%\src\work\
56+
if errorlevel 1 exit 1
57+
58+
:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja,
59+
:: see the comment before setting the CMAKE_GENERATOR env variable
60+
cmake --build . --config Release --parallel %CPU_COUNT% --target install
61+
if errorlevel 1 exit 1

0 commit comments

Comments
 (0)