Skip to content

Commit c19fbb2

Browse files
committed
Build files for jazzy linux-aarch64 2026-10-23-1646
1 parent 0a1c1f5 commit c19fbb2

15 files changed

Lines changed: 1822 additions & 14 deletions

File tree

‎.github/workflows/build.yaml‎

Lines changed: 53 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,55 @@
1-
# Placeholder, so that GitHub names this workflow path "build" in the Actions list.
2-
#
3-
# The real build.yaml lives on the buildbranch_<distro>_<platform> branches (pushed by
4-
# main.yaml, generated by `rs <distro> gha`); every branch has its own, with
5-
# `run-name: <distro> <platform>`. GitHub shows one workflow per path and takes its name
6-
# from the default branch's file; without one on main it kept the name of the first
7-
# branch that registered the path. This file is never triggered on its own.
8-
name: build
9-
on:
10-
workflow_dispatch:
111
jobs:
12-
placeholder:
13-
runs-on: ubuntu-latest
14-
permissions: {}
2+
stage_0_job_0:
3+
name: onnxruntime-vendor
4+
runs-on: ubuntu-24.04-arm
5+
strategy:
6+
fail-fast: false
157
steps:
16-
- run: echo "Builds run from the buildbranch_<distro>_<platform> branches' own build.yaml."
8+
- name: Checkout code
9+
uses: actions/checkout@v7
10+
- name: Disable git auto-maintenance
11+
run: git config --global maintenance.auto false && git config --global gc.auto
12+
0
13+
- name: Setup pixi
14+
uses: prefix-dev/setup-pixi@v0.11.0
15+
with:
16+
pixi-version: v0.81.0
17+
cache: 'true'
18+
log-level: v
19+
frozen: 'true'
20+
- name: Build
21+
env:
22+
ANACONDA_API_TOKEN: ${{ secrets.ANACONDA_API_TOKEN_JAZZY }}
23+
CURRENT_RECIPES: ros2-onnxruntime-vendor ros-jazzy-onnxruntime-vendor
24+
BUILD_TARGET: linux-aarch64
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+
- name: Keep build_timings.jsonl
31+
if: always()
32+
uses: actions/upload-artifact@v6
33+
with:
34+
name: ${{ github.job }}-${{ github.run_attempt }}
35+
path: distros/jazzy/work/build_timings.jsonl
36+
if-no-files-found: ignore
37+
retention-days: 30
38+
permissions:
39+
id-token: write
40+
contents: read
41+
attestations: write
42+
name: build
43+
run-name: jazzy linux-aarch64
44+
concurrency:
45+
group: build-jazzy-linux-aarch64
46+
cancel-in-progress: true
47+
on:
48+
push:
49+
branches:
50+
- buildbranch_jazzy_linux_aarch64
51+
env:
52+
ROBOSTACK_DISTRO: jazzy
53+
# optional repository variable: upload to this prefix.dev channel instead
54+
# (e.g. a test channel), or 'none' to only build
55+
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) uploads them to
43+
# prefix.dev and anaconda.org and skips packages that are already there.
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) uploads them to
36+
rem prefix.dev and anaconda.org and skips packages that are already there.
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+
)

‎distros/jazzy/work/build_timings.json‎

Lines changed: 1 addition & 0 deletions
Large diffs are not rendered by default.

‎distros/jazzy/work/buildorder.txt‎

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
ros2-onnxruntime-vendor
2+
ros-jazzy-onnxruntime-vendor

0 commit comments

Comments
 (0)