Skip to content

Commit bc36e56

Browse files
committed
Build files for rolling osx-arm64 2026-10-10-1126
1 parent 07df941 commit bc36e56

14 files changed

Lines changed: 231041 additions & 0 deletions

File tree

‎.github/workflows/build.yaml‎

Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
jobs:
2+
stage_0_job_0:
3+
name: ros2-ros2cli ros2cli
4+
runs-on: macos-15
5+
strategy:
6+
fail-fast: false
7+
needs: []
8+
steps:
9+
- name: Checkout code
10+
uses: actions/checkout@v7
11+
- name: Disable git auto-maintenance
12+
run: git config --global maintenance.auto false && git config --global gc.auto
13+
0
14+
- name: Setup pixi
15+
uses: prefix-dev/setup-pixi@v0.11.0
16+
with:
17+
pixi-version: v0.81.0
18+
cache: 'true'
19+
log-level: v
20+
frozen: 'true'
21+
- name: Build ros2-ros2cli ros-rolling-ros2cli
22+
env:
23+
CURRENT_RECIPES: ros2-ros2cli ros-rolling-ros2cli
24+
BUILD_TARGET: osx-arm64
25+
run: |
26+
export CI=github
27+
export GIT_BRANCH=${GITHUB_REF_NAME}
28+
export FEEDSTOCK_NAME=${GITHUB_REPOSITORY##*/}
29+
.scripts/build_unix.sh --target $BUILD_TARGET
30+
permissions:
31+
id-token: write
32+
contents: read
33+
attestations: write
34+
name: build
35+
run-name: rolling osx-arm64
36+
concurrency:
37+
group: build-rolling-osx-arm64
38+
cancel-in-progress: false
39+
on:
40+
push:
41+
branches:
42+
- buildbranch_rolling_osx_arm64
43+
env:
44+
ROBOSTACK_DISTRO: rolling
45+
# optional repository variable: upload to this prefix.dev channel instead
46+
# (e.g. a test channel), or 'none' to only build
47+
ROBOSTACK_UPLOAD_CHANNEL: ${{ vars.ROBOSTACK_UPLOAD_CHANNEL }}
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: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
ros2-ros2cli
2+
ros-rolling-ros2cli

0 commit comments

Comments
 (0)