Skip to content

Commit 4bb186b

Browse files
committed
Build files for rolling osx-64 2026-10-09-0538
1 parent e06a1b0 commit 4bb186b

32 files changed

Lines changed: 228076 additions & 0 deletions

File tree

‎.github/workflows/build.yaml‎

Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
jobs:
2+
stage_0_job_0:
3+
name: ros2-swri-serial-util ros2-zed-description ros2-swri-console ros2-serial-driver
4+
ros2-rviz-satellite zed-description swri-serial-util swri-console serial-driver
5+
rviz-satellite
6+
runs-on: macos-15-intel
7+
strategy:
8+
fail-fast: false
9+
needs: []
10+
steps:
11+
- name: Checkout code
12+
uses: actions/checkout@v7
13+
- name: Disable git auto-maintenance
14+
run: git config --global maintenance.auto false && git config --global gc.auto
15+
0
16+
- name: Setup pixi
17+
uses: prefix-dev/setup-pixi@v0.11.0
18+
with:
19+
pixi-version: v0.81.0
20+
cache: 'true'
21+
log-level: v
22+
frozen: 'true'
23+
- name: Build ros2-swri-serial-util ros2-zed-description ros2-swri-console ros2-serial-driver
24+
ros2-rviz-satellite ros-rolling-zed-description ros-rolling-swri-serial-util
25+
ros-rolling-swri-console ros-rolling-serial-driver ros-rolling-rviz-satellite
26+
env:
27+
ANACONDA_API_TOKEN: ${{ secrets.ANACONDA_API_TOKEN }}
28+
CURRENT_RECIPES: ros2-swri-serial-util ros2-zed-description ros2-swri-console
29+
ros2-serial-driver ros2-rviz-satellite ros-rolling-zed-description ros-rolling-swri-serial-util
30+
ros-rolling-swri-console ros-rolling-serial-driver ros-rolling-rviz-satellite
31+
BUILD_TARGET: osx-64
32+
run: |
33+
export CI=github
34+
export GIT_BRANCH=${GITHUB_REF_NAME}
35+
export FEEDSTOCK_NAME=${GITHUB_REPOSITORY##*/}
36+
.scripts/build_unix.sh --target $BUILD_TARGET
37+
permissions:
38+
id-token: write
39+
attestations: write
40+
name: build
41+
run-name: rolling osx-64
42+
on:
43+
push:
44+
branches:
45+
- buildbranch_rolling_osx_64
46+
env:
47+
ROBOSTACK_DISTRO: rolling
48+
# optional repository variable: upload to this prefix.dev channel instead
49+
# (e.g. a test channel), or 'none' to only build
50+
ROBOSTACK_UPLOAD_CHANNEL: ${{ vars.ROBOSTACK_UPLOAD_CHANNEL }}
51+
# optional secret: prefix.dev API key, for channels without Repository Access (OIDC)
52+
PREFIX_API_KEY: ${{ secrets.PREFIX_API_KEY }}
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+
4+
# Default values
5+
target=""
6+
7+
# Parse arguments
8+
while [[ "$#" -gt 0 ]]; do
9+
case $1 in
10+
--target) target="$2"; shift ;; # Capture value for --target
11+
*) echo "Unknown parameter passed: $1"; exit 1 ;; # Handle invalid options
12+
esac
13+
shift
14+
done
15+
16+
set -xeuo pipefail
17+
export PYTHONUNBUFFERED=1
18+
19+
# ROBOSTACK_DISTRO is set by the generated build workflow (tools/robostack.py gha).
20+
: "${ROBOSTACK_DISTRO:?ROBOSTACK_DISTRO is not set}"
21+
cd "distros/${ROBOSTACK_DISTRO}/work"
22+
export FEEDSTOCK_ROOT=`pwd`
23+
export "CONDA_BLD_PATH=$HOME/conda-bld/"
24+
25+
if [[ "$target" == *"osx"* ]]; then
26+
echo "osx"
27+
export PATH=$(echo $PATH | tr ":" "\n" | grep -v 'homebrew' | xargs | tr ' ' ':')
28+
fi
29+
30+
for recipe in ${CURRENT_RECIPES[@]}; do
31+
# build-ci (tools/robostack.py) adds the variant config and the distro's channels.
32+
pixi run -v rs "${ROBOSTACK_DISTRO}" build-ci \
33+
--recipe ${FEEDSTOCK_ROOT}/recipes/${recipe} \
34+
--output-dir $CONDA_BLD_PATH
35+
36+
done
37+
38+
# Check if it build something, this is a hotfix for the skips inside additional_recipes
39+
shopt -s nullglob
40+
conda_packages=( "${CONDA_BLD_PATH}/${target}"*/*.conda )
41+
if (( ${#conda_packages[@]} > 0 )); then
42+
# Upload packages one-by-one; the upload task (tools/robostack.py) skips or overwrites
43+
# packages that already exist, depending on the upload target.
44+
for conda_package in "${conda_packages[@]}"; do
45+
pixi run rs "${ROBOSTACK_DISTRO}" upload "${conda_package}"
46+
done
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: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
2+
setlocal EnableExtensions EnableDelayedExpansion
3+
4+
set CONDA_BLD_PATH=C:\bld
5+
echo "PATH is %PATH%"
6+
7+
rmdir /Q/S C:\Strawberry\
8+
rmdir /Q/S "C:\Program Files (x86)\Windows Kits\10\Include\10.0.17763.0\"
9+
10+
:: ROBOSTACK_DISTRO is set by the generated build workflow (tools/robostack.py gha).
11+
cd distros\%ROBOSTACK_DISTRO%\work
12+
set "FEEDSTOCK_ROOT=%cd%"
13+
14+
mkdir %CONDA_BLD_PATH%
15+
16+
:: Enable long path names on Windows
17+
reg add HKLM\SYSTEM\CurrentControlSet\Control\FileSystem /v LongPathsEnabled /t REG_DWORD /d 1 /f
18+
:: ... and in git, for sources that vendor packages clone during the build
19+
git config --global core.longpaths true
20+
21+
for %%X in (%CURRENT_RECIPES%) do (
22+
echo "BUILDING RECIPE %%X"
23+
cd %FEEDSTOCK_ROOT%\recipes\%%X\
24+
rem build-ci (tools/robostack.py) adds the variant config and the distro's channels.
25+
pixi run -v rs %ROBOSTACK_DISTRO% build-ci --recipe %FEEDSTOCK_ROOT%\recipes\%%X\ ^
26+
--output-dir %CONDA_BLD_PATH%
27+
28+
if errorlevel 1 exit 1
29+
rem -m %FEEDSTOCK_ROOT%\.ci_support\conda_forge_pinnings.yaml
30+
)
31+
32+
:: Check if .conda files exist in the win-64 directory
33+
if exist "%CONDA_BLD_PATH%\win-64\*.conda" (
34+
echo Found .conda files, starting upload...
35+
rem Upload packages one-by-one; the upload task (tools/robostack.py) skips or overwrites
36+
rem packages that already exist, depending on the upload target.
37+
for %%F in ("%CONDA_BLD_PATH%\win-64\*.conda") do (
38+
echo Uploading %%~fF
39+
pixi run rs %ROBOSTACK_DISTRO% upload "%%~fF"
40+
if errorlevel 1 exit 1
41+
)
42+
) else (
43+
echo Warning: No .conda files found in %CONDA_BLD_PATH%\win-64
44+
echo This might be due to all the packages being skipped
45+
)
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
ros2-swri-serial-util
2+
ros2-zed-description
3+
ros2-swri-console
4+
ros2-serial-driver
5+
ros2-rviz-satellite
6+
ros-rolling-zed-description
7+
ros-rolling-swri-serial-util
8+
ros-rolling-swri-console
9+
ros-rolling-serial-driver
10+
ros-rolling-rviz-satellite

0 commit comments

Comments
 (0)