-
-
Notifications
You must be signed in to change notification settings - Fork 7
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
364bde9
commit 63c28de
Showing
42 changed files
with
2,726 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,179 @@ | ||
jobs: | ||
stage_0_job_0: | ||
name: rosbridge-test-msgs rosapi-msgs rosbridge-msgs ament-cmake-mypy | ||
runs-on: windows-2019 | ||
strategy: | ||
fail-fast: false | ||
needs: [] | ||
env: | ||
CONDA_BLD_PATH: C:\\bld\\ | ||
steps: | ||
- name: Checkout code | ||
uses: actions/checkout@v4 | ||
- name: Setup pixi | ||
uses: prefix-dev/setup-pixi@v0.8.1 | ||
with: | ||
pixi-version: v0.40.3 | ||
cache: 'true' | ||
- uses: egor-tensin/cleanup-path@v4 | ||
with: | ||
dirs: C:\Program Files\Git\usr\bin;C:\Program Files\Git\bin;C:\Program Files\Git\cmd;C:\Program | ||
Files\Git\mingw64\bin | ||
- shell: cmd | ||
run: | | ||
set "CI=true" | ||
:: 4 cores available on GHA: https://docs.github.com/en/actions/using-github-hosted-runners/about-github-hosted-runners/about-github-hosted-runners | ||
:: CPU_COUNT is passed through conda build: https://github.com/conda/conda-build/pull/1149 | ||
set CPU_COUNT=4 | ||
set PYTHONUNBUFFERED=1 | ||
call setup_x64 | ||
:: Set the conda-build working directory to a smaller path | ||
if "%CONDA_BLD_PATH%" == "" ( | ||
set "CONDA_BLD_PATH=C:\\bld\\" | ||
) | ||
:: On azure, there are libcrypto*.dll & libssl*.dll under | ||
:: C:\\Windows\\System32, which should not be there (no vendor dlls in windows folder). | ||
:: They would be found before the openssl libs of the conda environment, so we delete them. | ||
if defined CI ( | ||
DEL C:\\Windows\\System32\\libcrypto-1_1-x64.dll || (Echo Ignoring failure to delete C:\\Windows\\System32\\libcrypto-1_1-x64.dll) | ||
DEL C:\\Windows\\System32\\libssl-1_1-x64.dll || (Echo Ignoring failure to delete C:\\Windows\\System32\\libssl-1_1-x64.dll) | ||
) | ||
:: Make paths like C:\\hostedtoolcache\\windows\\Ruby\\2.5.7\\x64\\bin garbage | ||
set "PATH=%PATH:ostedtoolcache=%" | ||
name: conda-forge build setup | ||
- shell: cmd | ||
run: | | ||
setlocal EnableExtensions EnableDelayedExpansion | ||
set CONDA_BLD_PATH=C:\bld | ||
echo "PATH is %PATH%" | ||
rmdir /Q/S C:\Strawberry\ | ||
rmdir /Q/S "C:\Program Files (x86)\Windows Kits\10\Include\10.0.17763.0\" | ||
set "FEEDSTOCK_ROOT=%cd%" | ||
mkdir %CONDA_BLD_PATH% | ||
:: Enable long path names on Windows | ||
reg add HKLM\SYSTEM\CurrentControlSet\Control\FileSystem /v LongPathsEnabled /t REG_DWORD /d 1 /f | ||
for %%X in (%CURRENT_RECIPES%) do ( | ||
echo "BUILDING RECIPE %%X" | ||
cd %FEEDSTOCK_ROOT%\recipes\%%X\ | ||
pixi run -v rattler-build build --recipe %FEEDSTOCK_ROOT%\recipes\%%X\ ^ | ||
-m %FEEDSTOCK_ROOT%\conda_build_config.yaml ^ | ||
-c robostack-jazzy -c conda-forge ^ | ||
--output-dir %CONDA_BLD_PATH% | ||
if errorlevel 1 exit 1 | ||
rem -m %FEEDSTOCK_ROOT%\.ci_support\conda_forge_pinnings.yaml | ||
) | ||
pixi run upload "%CONDA_BLD_PATH%\win-64\*.conda" --force | ||
if errorlevel 1 exit 1 | ||
env: | ||
ANACONDA_API_TOKEN: ${{ secrets.ANACONDA_API_TOKEN }} | ||
CURRENT_RECIPES: ros-jazzy-rosbridge-test-msgs ros-jazzy-rosapi-msgs ros-jazzy-rosbridge-msgs | ||
ros-jazzy-ament-cmake-mypy | ||
PYTHONUNBUFFERED: 1 | ||
name: Build ros-jazzy-rosbridge-test-msgs ros-jazzy-rosapi-msgs ros-jazzy-rosbridge-msgs | ||
ros-jazzy-ament-cmake-mypy | ||
stage_1_job_1: | ||
name: rosbridge-library rosapi rosbridge-server rosbridge-suite | ||
runs-on: windows-2019 | ||
strategy: | ||
fail-fast: false | ||
needs: | ||
- stage_0_job_0 | ||
env: | ||
CONDA_BLD_PATH: C:\\bld\\ | ||
steps: | ||
- name: Checkout code | ||
uses: actions/checkout@v4 | ||
- name: Setup pixi | ||
uses: prefix-dev/setup-pixi@v0.8.1 | ||
with: | ||
pixi-version: v0.40.3 | ||
cache: 'true' | ||
- uses: egor-tensin/cleanup-path@v4 | ||
with: | ||
dirs: C:\Program Files\Git\usr\bin;C:\Program Files\Git\bin;C:\Program Files\Git\cmd;C:\Program | ||
Files\Git\mingw64\bin | ||
- shell: cmd | ||
run: | | ||
set "CI=true" | ||
:: 4 cores available on GHA: https://docs.github.com/en/actions/using-github-hosted-runners/about-github-hosted-runners/about-github-hosted-runners | ||
:: CPU_COUNT is passed through conda build: https://github.com/conda/conda-build/pull/1149 | ||
set CPU_COUNT=4 | ||
set PYTHONUNBUFFERED=1 | ||
call setup_x64 | ||
:: Set the conda-build working directory to a smaller path | ||
if "%CONDA_BLD_PATH%" == "" ( | ||
set "CONDA_BLD_PATH=C:\\bld\\" | ||
) | ||
:: On azure, there are libcrypto*.dll & libssl*.dll under | ||
:: C:\\Windows\\System32, which should not be there (no vendor dlls in windows folder). | ||
:: They would be found before the openssl libs of the conda environment, so we delete them. | ||
if defined CI ( | ||
DEL C:\\Windows\\System32\\libcrypto-1_1-x64.dll || (Echo Ignoring failure to delete C:\\Windows\\System32\\libcrypto-1_1-x64.dll) | ||
DEL C:\\Windows\\System32\\libssl-1_1-x64.dll || (Echo Ignoring failure to delete C:\\Windows\\System32\\libssl-1_1-x64.dll) | ||
) | ||
:: Make paths like C:\\hostedtoolcache\\windows\\Ruby\\2.5.7\\x64\\bin garbage | ||
set "PATH=%PATH:ostedtoolcache=%" | ||
name: conda-forge build setup | ||
- shell: cmd | ||
run: | | ||
setlocal EnableExtensions EnableDelayedExpansion | ||
set CONDA_BLD_PATH=C:\bld | ||
echo "PATH is %PATH%" | ||
rmdir /Q/S C:\Strawberry\ | ||
rmdir /Q/S "C:\Program Files (x86)\Windows Kits\10\Include\10.0.17763.0\" | ||
set "FEEDSTOCK_ROOT=%cd%" | ||
mkdir %CONDA_BLD_PATH% | ||
:: Enable long path names on Windows | ||
reg add HKLM\SYSTEM\CurrentControlSet\Control\FileSystem /v LongPathsEnabled /t REG_DWORD /d 1 /f | ||
for %%X in (%CURRENT_RECIPES%) do ( | ||
echo "BUILDING RECIPE %%X" | ||
cd %FEEDSTOCK_ROOT%\recipes\%%X\ | ||
pixi run -v rattler-build build --recipe %FEEDSTOCK_ROOT%\recipes\%%X\ ^ | ||
-m %FEEDSTOCK_ROOT%\conda_build_config.yaml ^ | ||
-c robostack-jazzy -c conda-forge ^ | ||
--output-dir %CONDA_BLD_PATH% | ||
if errorlevel 1 exit 1 | ||
rem -m %FEEDSTOCK_ROOT%\.ci_support\conda_forge_pinnings.yaml | ||
) | ||
pixi run upload "%CONDA_BLD_PATH%\win-64\*.conda" --force | ||
if errorlevel 1 exit 1 | ||
env: | ||
ANACONDA_API_TOKEN: ${{ secrets.ANACONDA_API_TOKEN }} | ||
CURRENT_RECIPES: ros-jazzy-rosbridge-library ros-jazzy-rosapi ros-jazzy-rosbridge-server | ||
ros-jazzy-rosbridge-suite | ||
PYTHONUNBUFFERED: 1 | ||
name: Build ros-jazzy-rosbridge-library ros-jazzy-rosapi ros-jazzy-rosbridge-server | ||
ros-jazzy-rosbridge-suite | ||
name: build_win | ||
on: | ||
push: | ||
branches: | ||
- buildbranch_win |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,15 @@ | ||
:: Generated by vinca http://github.com/RoboStack/vinca. | ||
:: DO NOT EDIT! | ||
@if not defined CONDA_PREFIX goto:eof | ||
|
||
@REM Don't do anything when we are in conda build. | ||
@if defined SYS_PREFIX exit /b 0 | ||
|
||
@set "QT_PLUGIN_PATH=%CONDA_PREFIX%\Library\plugins" | ||
|
||
@call "%CONDA_PREFIX%\Library\local_setup.bat" | ||
@set PYTHONHOME= | ||
@set "ROS_OS_OVERRIDE=conda:win64" | ||
@set "ROS_ETC_DIR=%CONDA_PREFIX%\Library\etc\ros" | ||
@set "AMENT_PREFIX_PATH=%CONDA_PREFIX%\Library" | ||
@set "AMENT_PYTHON_EXECUTABLE=%CONDA_PREFIX%\python.exe" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,16 @@ | ||
# Generated by vinca http://github.com/RoboStack/vinca. | ||
# DO NOT EDIT! | ||
if ($null -eq ${env:CONDA_PREFIX}) { Exit } | ||
|
||
# Don't do anything when we are in conda build. | ||
if ($null -ne ${env:SYS_PREFIX}) { Exit 0 } | ||
|
||
$Env:QT_PLUGIN_PATH="${env:CONDA_PREFIX}\Library\plugins" | ||
|
||
& "${env:CONDA_PREFIX}\Library\local_setup.ps1" | ||
|
||
$Env:PYTHONHOME='' | ||
$Env:ROS_OS_OVERRIDE='conda:win64' | ||
$Env:ROS_ETC_DIR="${env:CONDA_PREFIX}\Library\etc\ros" | ||
$Env:AMENT_PREFIX_PATH="${env:CONDA_PREFIX}\Library" | ||
$Env:AMENT_PYTHON_EXECUTABLE="${env:CONDA_PREFIX}\python.exe" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,26 @@ | ||
# Generated by vinca http://github.com/RoboStack/vinca. | ||
# DO NOT EDIT! | ||
# if [ -z "${CONDA_PREFIX}" ]; then | ||
# exit 0; | ||
# fi | ||
|
||
# Not sure if this is necessary on UNIX? | ||
# export QT_PLUGIN_PATH=$CONDA_PREFIX\plugins | ||
|
||
if [ "$CONDA_BUILD" = "1" -a "$target_platform" != "$build_platform" ]; then | ||
# ignore sourcing | ||
echo "Not activating ROS when cross-compiling"; | ||
else | ||
source $CONDA_PREFIX/setup.sh | ||
fi | ||
|
||
case "$OSTYPE" in | ||
darwin*) export ROS_OS_OVERRIDE="conda:osx";; | ||
linux*) export ROS_OS_OVERRIDE="conda:linux";; | ||
esac | ||
|
||
export ROS_ETC_DIR=$CONDA_PREFIX/etc/ros | ||
export AMENT_PREFIX_PATH=$CONDA_PREFIX | ||
|
||
# Looks unnecessary for UNIX | ||
# unset PYTHONHOME= |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,52 @@ | ||
:: Generated by vinca http://github.com/RoboStack/vinca. | ||
:: DO NOT EDIT! | ||
setlocal EnableDelayedExpansion | ||
|
||
set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%" | ||
|
||
:: MSVC is preferred. | ||
set CC=cl.exe | ||
set CXX=cl.exe | ||
|
||
rd /s /q build | ||
mkdir build | ||
pushd build | ||
|
||
:: set "CMAKE_GENERATOR=Ninja" | ||
:: We use the Visual Studio generator as a workaround for | ||
:: problems in Ninja when using long paths, see https://github.com/RoboStack/ros-humble/pull/229#issuecomment-2564856467 | ||
:: Once those are solved, we can switch back to use Ninja | ||
set "CMAKE_GENERATOR=Visual Studio %VS_MAJOR% %VS_YEAR%" | ||
|
||
:: PYTHON_INSTALL_DIR should be a relative path, see | ||
:: https://github.com/ament/ament_cmake/blob/2.3.2/ament_cmake_python/README.md | ||
:: So we compute the relative path of %SP_DIR% w.r.t. to LIBRARY_PREFIX, | ||
:: but it is not trivial to do this in Command Prompt scripting, so let's do it via | ||
:: python | ||
|
||
:: This line is scary, but it basically assigns the output of the command inside (` and `) | ||
:: to the variable specified after DO SET | ||
:: The equivalent in bash is PYTHON_INSTALL_DIR=`python -c ...` | ||
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 | ||
|
||
cmake ^ | ||
-G "%CMAKE_GENERATOR%" ^ | ||
-DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^ | ||
-DCMAKE_BUILD_TYPE=Release ^ | ||
-DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=True ^ | ||
-DPYTHON_EXECUTABLE=%PYTHON% ^ | ||
-DPython_EXECUTABLE=%PYTHON% ^ | ||
-DPython3_EXECUTABLE=%PYTHON% ^ | ||
-DSETUPTOOLS_DEB_LAYOUT=OFF ^ | ||
-DBUILD_SHARED_LIBS=ON ^ | ||
-DBUILD_TESTING=OFF ^ | ||
-DCMAKE_OBJECT_PATH_MAX=255 ^ | ||
--compile-no-warning-as-error ^ | ||
-DPYTHON_INSTALL_DIR=%PYTHON_INSTALL_DIR% ^ | ||
%SRC_DIR%\%PKG_NAME%\src\work | ||
if errorlevel 1 exit 1 | ||
|
||
:: We explicitly pass %CPU_COUNT% to cmake --build as we are not using Ninja, | ||
:: see the comment before setting the CMAKE_GENERATOR env variable | ||
cmake --build . --config Release --parallel %CPU_COUNT% --target install | ||
if errorlevel 1 exit 1 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,25 @@ | ||
:: Generated by vinca http://github.com/RoboStack/vinca. | ||
:: DO NOT EDIT! | ||
setlocal | ||
|
||
set "PYTHONPATH=%LIBRARY_PREFIX%\lib\site-packages;%SP_DIR%" | ||
|
||
pushd %SRC_DIR%\%PKG_NAME%\src\work | ||
set "PKG_NAME_SHORT=%PKG_NAME:*ros-jazzy-=%" | ||
set "PKG_NAME_SHORT=%PKG_NAME_SHORT:-=_%" | ||
|
||
:: If there is a setup.cfg that contains install-scripts then use pip to install | ||
findstr install[-_]scripts setup.cfg | ||
if "%errorlevel%" == "0" ( | ||
%PYTHON% setup.py install --single-version-externally-managed --record=files.txt ^ | ||
--prefix=%LIBRARY_PREFIX% ^ | ||
--install-lib=%SP_DIR% ^ | ||
--install-scripts=%LIBRARY_PREFIX%\lib\%PKG_NAME_SHORT% | ||
) else ( | ||
%PYTHON% setup.py install --single-version-externally-managed --record=files.txt ^ | ||
--prefix=%LIBRARY_PREFIX% ^ | ||
--install-lib=%SP_DIR% ^ | ||
--install-scripts=%LIBRARY_PREFIX%\bin | ||
) | ||
|
||
if errorlevel 1 exit 1 |
Oops, something went wrong.