Skip to content

Commit 137738f

Browse files
Sync with jazzy
1 parent fb02c68 commit 137738f

File tree

12 files changed

+114
-216
lines changed

12 files changed

+114
-216
lines changed

.gitattributes

+2
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
# GitHub syntax highlighting
2+
pixi.lock linguist-language=YAML linguist-generated=true

.github/testpr_environment.yml

-15
This file was deleted.

.github/workflows/main.yml

+3-1
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
name: Generate CI pipelines for ROS 2 packages
2+
13
permissions:
24
actions: write
35
contents: write
@@ -18,7 +20,7 @@ jobs:
1820
python-version: '3.11' # Version range or exact version of a Python version to use, using SemVer's version range syntax
1921
- name: Install vinca
2022
run: |
21-
pip install git+https://github.com/RoboStack/vinca.git
23+
pip install git+https://github.com/RoboStack/vinca.git@rattler-build-humble
2224
2325
- name: Generate recipes for linux-64
2426
run: |

.gitignore

+4-2
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,11 @@
1-
.pixi
2-
output/
31
vinca.yaml
42
recipes/
53
*.bat
64
*.sh
75
*.ps1
86
*.json
97
.DS_Store
8+
# pixi environments
9+
.pixi
10+
*.egg-info
11+
output/

.scripts/build_linux.sh

+13-55
Original file line numberDiff line numberDiff line change
@@ -9,67 +9,25 @@ set -xeuo pipefail
99
export PYTHONUNBUFFERED=1
1010
export FEEDSTOCK_ROOT="${FEEDSTOCK_ROOT:-/home/conda/feedstock_root}"
1111
export RECIPE_ROOT="${RECIPE_ROOT:-/home/conda/recipe_root}"
12-
# export CI_SUPPORT="${FEEDSTOCK_ROOT}/.ci_support"
13-
# export CONFIG_FILE="${CI_SUPPORT}/${CONFIG}.yaml"
1412

15-
cat >~/.condarc <<CONDARC
16-
conda-build:
17-
root-dir: /opt/conda/build_artifacts
18-
CONDARC
13+
curl -fsSL https://pixi.sh/install.sh | bash
14+
export PATH="$HOME/.pixi/bin:$PATH"
1915

20-
# This doesn't work, see e.g. https://dev.azure.com/robostack/ros_pipelines/_build/results?buildId=188&view=logs&j=4e20d398-0572-5e54-89c7-6bdb9c00a59a&t=f5885ff8-badf-54b3-1543-35164851bdf3
21-
# if grep -q libgl "recipes/${CURRENT_BUILD_PKG_NAME}.yaml"; then
22-
# sudo yum install -y install mesa-libGL-devel
23-
# fi
24-
25-
export "CONDA_BLD_PATH=/opt/conda/build_artifacts"
26-
27-
mkdir -p $CONDA_BLD_PATH
28-
conda index $CONDA_BLD_PATH
29-
30-
conda config --set remote_max_retries 5
31-
conda config --add channels conda-forge
32-
conda config --add channels robostack-staging
33-
conda config --add channels $CONDA_BLD_PATH
34-
conda config --remove channels defaults
35-
# conda config --set channel_priority strict
36-
37-
mamba update conda --yes --quiet -c conda-forge
38-
mamba install --yes --quiet pip conda-build anaconda-client mamba boa
39-
40-
# setup_conda_rc "${FEEDSTOCK_ROOT}" "${RECIPE_ROOT}" "${CONFIG_FILE}"
41-
# export PATH="$HOME/miniconda/bin:$PATH"
42-
conda config --set anaconda_upload yes
43-
conda config --set show_channel_urls true
44-
conda config --set auto_update_conda false
45-
conda config --set add_pip_as_python_dependency false
46-
47-
conda info
48-
conda config --show-sources
49-
conda list --show-channel-urls
16+
export CONDA_BLD_PATH="/opt/conda/build_artifacts"
5017

5118
pwd
5219

53-
for recipe in ${CURRENT_RECIPES[@]}; do
54-
cd ${FEEDSTOCK_ROOT}/recipes/${recipe}
55-
boa build . -m ${FEEDSTOCK_ROOT}/.ci_support/conda_forge_pinnings.yaml -m ${FEEDSTOCK_ROOT}/conda_build_config.yaml
56-
done
57-
58-
anaconda -t ${ANACONDA_API_TOKEN} upload /opt/conda/build_artifacts/linux-*/*.tar.bz2 --force
59-
# quetz-client "${QUETZ_URL}" /opt/conda/build_artifacts --force
60-
61-
# set up the condarc
20+
cd ${FEEDSTOCK_ROOT}
6221

63-
# source run_conda_forge_build_setup
64-
65-
# # make the build number clobber
66-
# make_build_number "${FEEDSTOCK_ROOT}" "${RECIPE_ROOT}" "${CONFIG_FILE}"
22+
for recipe in ${CURRENT_RECIPES[@]}; do
23+
pixi run -v rattler-build build \
24+
--recipe ${FEEDSTOCK_ROOT}/recipes/${recipe} \
25+
-m ${FEEDSTOCK_ROOT}/conda_build_config.yaml \
26+
-c robostack-staging -c conda-forge \
27+
--output-dir $CONDA_BLD_PATH
6728

68-
# conda build "${RECIPE_ROOT}" -m "${CI_SUPPORT}/${CONFIG}.yaml" \
69-
# --clobber-file "${CI_SUPPORT}/clobber_${CONFIG}.yaml"
29+
# -m ${FEEDSTOCK_ROOT}/.ci_support/conda_forge_pinnings.yaml \
7030

71-
# if [[ "${UPLOAD_PACKAGES}" != "False" ]]; then
72-
# upload_package "${FEEDSTOCK_ROOT}" "${RECIPE_ROOT}" "${CONFIG_FILE}"
73-
# fi
31+
done
7432

75-
# touch "${FEEDSTOCK_ROOT}/build_artifacts/conda-forge-build-done-${CONFIG}"
33+
pixi run upload ${CONDA_BLD_PATH}/linux-*/*.conda --force

.scripts/build_osx.sh

+14-59
Original file line numberDiff line numberDiff line change
@@ -1,70 +1,25 @@
11
#!/bin/bash
22

33
set -x
4-
5-
export FEEDSTOCK_ROOT=`pwd`
6-
7-
echo -e "\n\nInstalling a fresh version of Miniforge."
8-
MINIFORGE_URL="https://github.com/conda-forge/miniforge/releases/latest/download"
9-
MINIFORGE_FILE="Mambaforge-MacOSX-x86_64.sh"
10-
curl -L -O --silent "${MINIFORGE_URL}/${MINIFORGE_FILE}"
11-
/bin/bash $MINIFORGE_FILE -b
12-
13-
echo -e "\n\nConfiguring conda."
14-
15-
source ${HOME}/mambaforge/etc/profile.d/conda.sh
16-
conda activate base
17-
18-
conda config --set remote_max_retries 5
19-
20-
echo -e "\n\nInstalling conda-forge-ci-setup and conda-build."
21-
mamba install -n base --quiet --yes conda-forge-ci-setup "conda-build>=24.5.0" pip boa quetz-client -c conda-forge
22-
234
set -e
245

25-
# echo -e "\n\nSetting up the condarc and mangling the compiler."
26-
# # setup_conda_rc ./ ./recipe ./.ci_support/${CONFIG}.yaml
27-
# # mangle_compiler ./ ./recipe .ci_support/${CONFIG}.yaml
28-
29-
# echo -e "\n\nMangling homebrew in the CI to avoid conflicts."
30-
# # /usr/bin/sudo mangle_homebrew
31-
# # /usr/bin/sudo -k
32-
33-
# echo -e "\n\nRunning the build setup script."
34-
# # source run_conda_forge_build_setup
35-
36-
export "CONDA_BLD_PATH=$CONDA_PREFIX/conda-bld/"
37-
38-
mkdir -p $CONDA_BLD_PATH
39-
conda index $CONDA_BLD_PATH
40-
conda config --set anaconda_upload yes
41-
conda config --set show_channel_urls true
42-
conda config --set auto_update_conda false
43-
conda config --set add_pip_as_python_dependency false
44-
45-
conda config --add channels conda-forge
46-
conda config --add channels robostack-staging
47-
conda config --add channels $CONDA_BLD_PATH
48-
# conda config --set channel_priority strict
6+
export FEEDSTOCK_ROOT=`pwd`
7+
export "CONDA_BLD_PATH=$HOME/conda-bld/"
498

50-
# echo -e "\n\nMaking the build clobber file and running the build."
51-
# make_build_number ./ ./recipe ./.ci_support/${CONFIG}.yaml
9+
curl -fsSL https://pixi.sh/install.sh | bash
10+
export PATH="$HOME/.pixi/bin:$PATH"
5211

53-
conda info
54-
conda config --show-sources
55-
conda list --show-channel-urls
12+
# Remove homebrew from $PATH
13+
export PATH=$(echo $PATH | tr ":" "\n" | grep -v 'homebrew' | xargs | tr ' ' ':')
5614

5715
for recipe in ${CURRENT_RECIPES[@]}; do
58-
cd ${FEEDSTOCK_ROOT}/recipes/${recipe}
59-
boa build . -m ${FEEDSTOCK_ROOT}/.ci_support/conda_forge_pinnings.yaml -m ${FEEDSTOCK_ROOT}/conda_build_config.yaml
60-
done
16+
pixi run -v rattler-build build \
17+
--recipe ${FEEDSTOCK_ROOT}/recipes/${recipe} \
18+
-m ${FEEDSTOCK_ROOT}/conda_build_config.yaml \
19+
-c robostack-staging -c conda-forge \
20+
--output-dir $CONDA_BLD_PATH
6121

62-
anaconda -t ${ANACONDA_API_TOKEN} upload ${CONDA_BLD_PATH}/osx-64/*.tar.bz2 --force
63-
# quetz-client "${QUETZ_URL}" ${CONDA_BLD_PATH} --force
64-
65-
# conda build ./recipe -m ./.ci_support/${CONFIG}.yaml --clobber-file ./.ci_support/clobber_${CONFIG}.yaml
22+
# -m ${FEEDSTOCK_ROOT}/.ci_support/conda_forge_pinnings.yaml \
23+
done
6624

67-
# if [[ "${UPLOAD_PACKAGES}" != "False" ]]; then
68-
# echo -e "\n\nUploading the packages."
69-
# upload_package --validate --feedstock-name="libsolv-feedstock" ./ ./recipe ./.ci_support/${CONFIG}.yaml
70-
# fi
25+
pixi run upload ${CONDA_BLD_PATH}/osx-*/*.conda --force

.scripts/build_osx_arm64.sh

+14-59
Original file line numberDiff line numberDiff line change
@@ -1,70 +1,25 @@
11
#!/bin/bash
22

33
set -x
4-
5-
export FEEDSTOCK_ROOT=`pwd`
6-
7-
echo -e "\n\nInstalling a fresh version of Miniforge."
8-
MINIFORGE_URL="https://github.com/conda-forge/miniforge/releases/latest/download"
9-
MINIFORGE_FILE="Mambaforge-MacOSX-arm64.sh"
10-
curl -L -O --silent "${MINIFORGE_URL}/${MINIFORGE_FILE}"
11-
/bin/bash $MINIFORGE_FILE -b
12-
13-
echo -e "\n\nConfiguring conda."
14-
15-
source ${HOME}/mambaforge/etc/profile.d/conda.sh
16-
conda activate base
17-
18-
conda config --set remote_max_retries 5
19-
20-
echo -e "\n\nInstalling conda-forge-ci-setup and conda-build."
21-
mamba install -n base --quiet --yes conda-forge-ci-setup "conda-build>=24.5.0" pip boa quetz-client -c conda-forge
22-
234
set -e
245

25-
# echo -e "\n\nSetting up the condarc and mangling the compiler."
26-
# # setup_conda_rc ./ ./recipe ./.ci_support/${CONFIG}.yaml
27-
# # mangle_compiler ./ ./recipe .ci_support/${CONFIG}.yaml
28-
29-
# echo -e "\n\nMangling homebrew in the CI to avoid conflicts."
30-
# # /usr/bin/sudo mangle_homebrew
31-
# # /usr/bin/sudo -k
32-
33-
# echo -e "\n\nRunning the build setup script."
34-
# # source run_conda_forge_build_setup
35-
36-
export "CONDA_BLD_PATH=$CONDA_PREFIX/conda-bld/"
37-
38-
mkdir -p $CONDA_BLD_PATH
39-
conda index $CONDA_BLD_PATH
40-
conda config --set anaconda_upload yes
41-
conda config --set show_channel_urls true
42-
conda config --set auto_update_conda false
43-
conda config --set add_pip_as_python_dependency false
44-
45-
conda config --add channels conda-forge
46-
conda config --add channels robostack-staging
47-
conda config --add channels $CONDA_BLD_PATH
48-
# conda config --set channel_priority strict
6+
export FEEDSTOCK_ROOT=`pwd`
7+
export "CONDA_BLD_PATH=$HOME/conda-bld/"
498

50-
# echo -e "\n\nMaking the build clobber file and running the build."
51-
# make_build_number ./ ./recipe ./.ci_support/${CONFIG}.yaml
9+
curl -fsSL https://pixi.sh/install.sh | bash
10+
export PATH="$HOME/.pixi/bin:$PATH"
5211

53-
conda info
54-
conda config --show-sources
55-
conda list --show-channel-urls
12+
# Remove homebrew from $PATH
13+
export PATH=$(echo $PATH | tr ":" "\n" | grep -v 'homebrew' | xargs | tr ' ' ':')
5614

5715
for recipe in ${CURRENT_RECIPES[@]}; do
58-
cd ${FEEDSTOCK_ROOT}/recipes/${recipe}
59-
boa build . -m ${FEEDSTOCK_ROOT}/.ci_support/conda_forge_pinnings.yaml -m ${FEEDSTOCK_ROOT}/conda_build_config.yaml --target-platform=osx-arm64
60-
done
16+
pixi run -v rattler-build build \
17+
--recipe ${FEEDSTOCK_ROOT}/recipes/${recipe} \
18+
-m ${FEEDSTOCK_ROOT}/conda_build_config.yaml \
19+
-c robostack-staging -c conda-forge \
20+
--output-dir $CONDA_BLD_PATH
6121

62-
anaconda -t ${ANACONDA_API_TOKEN} upload ${CONDA_BLD_PATH}/osx-arm64/*.tar.bz2 --force
63-
# quetz-client "${QUETZ_URL}" ${CONDA_BLD_PATH} --force
64-
65-
# conda build ./recipe -m ./.ci_support/${CONFIG}.yaml --clobber-file ./.ci_support/clobber_${CONFIG}.yaml
22+
# -m ${FEEDSTOCK_ROOT}/.ci_support/conda_forge_pinnings.yaml \
23+
done
6624

67-
# if [[ "${UPLOAD_PACKAGES}" != "False" ]]; then
68-
# echo -e "\n\nUploading the packages."
69-
# upload_package --validate --feedstock-name="libsolv-feedstock" ./ ./recipe ./.ci_support/${CONFIG}.yaml
70-
# fi
25+
pixi run upload ${CONDA_BLD_PATH}/osx-*/*.conda --force

.scripts/build_win.bat

+8-14
Original file line numberDiff line numberDiff line change
@@ -1,35 +1,29 @@
11
setlocal EnableExtensions EnableDelayedExpansion
2-
call %CONDA%\condabin\conda_hook.bat
3-
call %CONDA%\condabin\conda.bat activate base
42

3+
set CONDA_BLD_PATH=C:\bld
54
echo "PATH is %PATH%"
6-
echo "CONDA_BLD_PATH is %CONDA_BLD_PATH%"
75

86
rmdir /Q/S C:\Strawberry\
97
rmdir /Q/S "C:\Program Files (x86)\Windows Kits\10\Include\10.0.17763.0\"
108

119
set "FEEDSTOCK_ROOT=%cd%"
1210

1311
mkdir %CONDA_BLD_PATH%
14-
call conda index %CONDA_BLD_PATH%
15-
16-
rem call conda config --remove channels defaults
17-
call conda config --add channels conda-forge
18-
call conda config --add channels robostack-staging
19-
call conda config --add channels %CONDA_BLD_PATH%
20-
:: call conda config --set channel_priority strict
2112

2213
:: Enable long path names on Windows
2314
reg add HKLM\SYSTEM\CurrentControlSet\Control\FileSystem /v LongPathsEnabled /t REG_DWORD /d 1 /f
2415

25-
:: conda remove --force m2-git
26-
2716
for %%X in (%CURRENT_RECIPES%) do (
2817
echo "BUILDING RECIPE %%X"
2918
cd %FEEDSTOCK_ROOT%\recipes\%%X\
30-
boa build . -m %FEEDSTOCK_ROOT%\.ci_support\conda_forge_pinnings.yaml -m %FEEDSTOCK_ROOT%\conda_build_config.yaml
19+
pixi run -v rattler-build build --recipe %FEEDSTOCK_ROOT%\recipes\%%X\ ^
20+
-m %FEEDSTOCK_ROOT%\conda_build_config.yaml ^
21+
-c robostack-staging -c conda-forge ^
22+
--output-dir %CONDA_BLD_PATH%
23+
3124
if errorlevel 1 exit 1
25+
rem -m %FEEDSTOCK_ROOT%\.ci_support\conda_forge_pinnings.yaml
3226
)
3327

34-
anaconda -t %ANACONDA_API_TOKEN% upload "C:\bld\win-64\*.tar.bz2" --force
28+
pixi run upload "%CONDA_BLD_PATH%\win-64\*.conda" --force
3529
if errorlevel 1 exit 1

additional_recipes/ros2-distro-mutex/recipe.yaml

+1-1
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ requirements:
1515
# packages. Therefore I am currently manually adding them to run_constrained.
1616
# This has to be synchronized with our current conda_build_config all the time :(
1717
# host:
18-
# # values here should
18+
# # values here should
1919
# - log4cxx
2020
# - poco
2121
# - pcl

env/robostackenv.yaml

+2-5
Original file line numberDiff line numberDiff line change
@@ -4,17 +4,14 @@ channels:
44
- conda-forge
55
dependencies:
66
- python=3.11
7-
- conda-build
87
- anaconda-client
9-
- mamba
10-
- conda
118
- catkin_pkg
129
- ruamel.yaml
1310
- rosdistro
1411
- empy
1512
- networkx
1613
- requests
17-
- boa
14+
- rattler-build
1815
- pip
1916
- pip:
20-
- git+https://github.com/RoboStack/vinca.git@master
17+
- git+https://github.com/RoboStack/vinca.git@rattler-build-humble

pixi.toml

+3-3
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
[project]
22
name = "ros-humble"
3-
# Just a convention, this is the same of the mutex package
3+
# Just a convention, this is the same as the mutex package
44
version = "0.6.0"
5-
description = "RoboStack repo for package ros-humble packages as conda packages"
5+
description = "RoboStack repo to package ros-humble packages as conda packages"
66
authors = ["Tobias Fischer <[email protected]>", "Wolf Vollprecht <[email protected]>", "Silvio Traversaro <[email protected]>"]
77
channels = ["https://repo.prefix.dev/conda-forge"]
88
platforms = ["osx-arm64", "linux-64", "osx-64", "linux-aarch64", "win-64"]
@@ -21,7 +21,7 @@ anaconda-client = ">=1.12"
2121

2222
[feature.beta.pypi-dependencies]
2323
# This is tipically the latest commit on rattler-build-humble branch
24-
vinca = { git ="https://github.com/RoboStack/vinca.git", rev = "4215543e2eeace1b78a82ae5d414f8839ba4a9c4" }
24+
vinca = { git ="https://github.com/RoboStack/vinca.git", rev = "rattler-build-humble" }
2525
# Uncomment this line to work with a local vinca for faster iteration, but remember to comment it back
2626
# (and regenerate the pixi.lock) once you push the modified commit to the repo
2727
#vinca = { path = "../vinca", editable = true }

0 commit comments

Comments
 (0)