Skip to content

Commit

Permalink
Full Rebuild January 2024 with updated conda-forge pinnings (#418)
Browse files Browse the repository at this point in the history
* Full Rebuild October 2023

* Remove foxglove_bridge for now

* Update ros-noetic-microstrain-inertial-driver.patch

* Update conda_forge_pinnings.yaml

* Update conda_build_config.yaml

* Delete patch/ros-noetic-geometric-shapes.win.patch

* Delete patch/ros-noetic-moveit-core.patch

* Update recipe.yaml

* Update conda_forge_pinnings.yaml

* remove pybind11-catkin patch

* fix pybind11 build error

* fix control-box-rst

* Update ros-noetic-moveit-ros-planning.win.patch

Remove changes upstreamed in moveit/moveit#2772

* Update ros-noetic-rosmon-core.patch

* Create ros-noetic-sophus.path

* Fix name of sophus patch and bump eigenpy

* fix ros-noetic-moveit-ros-planning patch

* Update additional_recipes

* Temporarily build ros-noetic-eigenpy

* Fix run_exports in eigenpy, hpp-fcl and pinocchio

* Manually build hpp-fcl and pinocchio

* Fixup pinoccio version

* Really skip pinocchio (remove from select_by_deps)

* See if boa segfault goes away with boa release instead of boa main on osx/win

* Sync with humble

* Fixes

* Fixups

* Fixing patches

* Fixes for linux-aarch64

* Local linux-64 build

* A few more packages, including rtabmap

* Be more verbose about commented-out packages in vinca files.

* Reviewer comments @traversaro

---------

Co-authored-by: Hongzhuo Liang <[email protected]>
Co-authored-by: Tobias Fischer <[email protected]>
Co-authored-by: Martin Pecka <[email protected]>
  • Loading branch information
4 people authored Jan 29, 2024
1 parent bc5373a commit c93c9cc
Show file tree
Hide file tree
Showing 47 changed files with 2,110 additions and 1,255 deletions.
477 changes: 292 additions & 185 deletions .ci_support/conda_forge_pinnings.yaml

Large diffs are not rendered by default.

5 changes: 2 additions & 3 deletions .cirun.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,8 @@ runners:
- name: aws-cpu-arm-runner
cloud: aws
instance_type: a1.4xlarge
# AMI for ubuntu/images/hvm-ssd/ubuntu-focal-20.04-arm64-server
# AMI for ubuntu/images/hvm-ssd/ubuntu-focal-20.04-arm64-server + docker
machine_image: ami-00dace5a405a9887e
#machine_image: ami-0229f8cfc24033d05
preemptible: false
labels:
- cirun-linux-aarch64
- cirun-linux-aarch64
8 changes: 5 additions & 3 deletions .github/testpr_environment.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,11 +3,13 @@ channels:
- robostack-staging
- conda-forge
dependencies:
- python 3.9.*
- python 3.11.*
- pip
- boa
- conda-build <3.28
- rospkg
- catkin_pkg >=0.4.16
- ruamel.yaml >=0.16.6,<0.18.0
- ruamel.yaml >=0.16.6,<0.18
- rosdistro >=0.8.0
- empy >=3.3.4
- mamba
- networkx
50 changes: 27 additions & 23 deletions .github/workflows/main.yml
Original file line number Diff line number Diff line change
@@ -1,27 +1,31 @@
permissions:
actions: write
contents: write

jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@master
- uses: actions/checkout@v3
with:
persist-credentials: false # otherwise, the token used is the GITHUB_TOKEN, instead of your personal token
fetch-depth: 0 # otherwise, you will failed to push refs to dest repo
- uses: actions/setup-python@v2
- uses: actions/setup-python@v4
with:
python-version: '3.9' # Version range or exact version of a Python version to use, using SemVer's version range syntax
python-version: '3.11' # Version range or exact version of a Python version to use, using SemVer's version range syntax
- name: Install vinca
run: |
pip install git+https://github.com/RoboStack/vinca.git
- name: Generate recipes for Linux
- name: Generate recipes for linux-64
run: |
git clean -fdx
cp vinca_linux_64.yaml vinca.yaml
vinca --multiple --platform linux-64
- name: Generate azure pipelines for Linux
- name: Generate azure pipelines for linux-64
run: |
vinca-gha --platform linux-64 --trigger-branch buildbranch_linux -d ./recipes --additional-recipes
- name: Commit files
- name: Commit files for linux-64
run: |
if [[ -f "linux.yml" ]]; then
mv linux.yml .github/workflows/
Expand All @@ -38,16 +42,16 @@ jobs:
# Generate recipes for osx
- name: Reset repo
run: |
git reset --hard origin/master
- name: Generate recipes for macOS
git reset --hard origin/main
- name: Generate recipes for osx-64
run: |
git clean -fdx
cp vinca_osx.yaml vinca.yaml
vinca --multiple --platform osx-64
- name: Generate azure pipelines for macOS
- name: Generate azure pipelines for osx-64
run: |
vinca-gha --platform osx-64 --trigger-branch buildbranch_osx -d ./recipes --additional-recipes
- name: Commit files
- name: Commit files for osx-64
run: |
if [[ -f "osx.yml" ]]; then
mv osx.yml .github/workflows/
Expand All @@ -64,16 +68,16 @@ jobs:
# Generate recipes for osx-arm64
- name: Reset repo
run: |
git reset --hard origin/master
- name: Generate recipes for macOS (arm64)
git reset --hard origin/main
- name: Generate recipes for osx-arm64
run: |
git clean -fdx
cp vinca_osx_arm64.yaml vinca.yaml
vinca --multiple --platform osx-arm64
- name: Generate azure pipelines for macOS (arm64)
- name: Generate azure pipelines for osx-arm64
run: |
vinca-gha --platform osx-arm64 --trigger-branch buildbranch_osx_arm64 -d ./recipes --additional-recipes
- name: Commit files
- name: Commit files for osx-arm64
run: |
if [[ -f "osx_arm64.yml" ]]; then
mv osx_arm64.yml .github/workflows/
Expand All @@ -90,16 +94,16 @@ jobs:
# Generate recipes for Windows
- name: Reset repo
run: |
git reset --hard origin/master
- name: Generate recipes for Windows
git reset --hard origin/main
- name: Generate recipes for win-64
run: |
git clean -fdx
cp vinca_win.yaml vinca.yaml
vinca --multiple --platform win-64
- name: Generate azure pipelines for Windows
- name: Generate azure pipelines for win-64
run: |
vinca-gha --platform win-64 --trigger-branch buildbranch_win -d ./recipes --additional-recipes
- name: Commit files for Windows
- name: Commit files for win-64
run: |
if [[ -f "win.yml" ]]; then
mv win.yml .github/workflows/
Expand All @@ -116,16 +120,16 @@ jobs:
# Generate recipes for Linux ARM64
- name: Reset repo
run: |
git reset --hard origin/master
- name: Generate recipes for Linux ARM64
git reset --hard origin/main
- name: Generate recipes for linux-aarch64
run: |
git clean -fdx
cp vinca_linux_aarch64.yaml vinca.yaml
vinca --multiple --platform linux-aarch64
- name: Generate azure pipelines for Linux ARM64
- name: Generate azure pipelines for linux-aarch64
run: |
vinca-gha --platform linux-aarch64 --trigger-branch buildbranch_linux_aarch64 -d ./recipes --additional-recipes -b 2
- name: Commit files
vinca-gha --platform linux-aarch64 --trigger-branch buildbranch_linux_aarch64 -d ./recipes --additional-recipes --batch_size 1
- name: Commit files for linux-aarch64
run: |
if [[ -f "linux_aarch64.yml" ]]; then
mv linux_aarch64.yml .github/workflows/build_linux_aarch64.yml
Expand Down
35 changes: 20 additions & 15 deletions .github/workflows/testpr.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ on:
pull_request:
paths:
- '*.yaml'

env:
ROS_VERSION: 1

Expand Down Expand Up @@ -37,60 +37,65 @@ jobs:
platform: osx-arm64
steps:
- uses: actions/checkout@master
- name: install mamba
- name: install micromamba
uses: mamba-org/setup-micromamba@main
with:
environment-file: .github/testpr_environment.yml
condarc: |
channels:
- robostack-staging
- conda-forge
- shell: bash -l {0}
if: contains(matrix.os, 'linux-aarch64')
if: matrix.platform == 'linux-aarch64'
run: |
echo "::group::Configure binfmt_misc"
docker run --rm --privileged multiarch/qemu-user-static:register --reset --credential yes
export FEEDSTOCK_NAME="$(basename $GITHUB_REPOSITORY)"
export GIT_BRANCH="$(basename $GITHUB_REF)"
echo "::endgroup::"
- name: Install libgl1-mesa-dev (only for linux-aarch64)
if: matrix.platform == 'linux-aarch64'
shell: bash -l {0}
run: |
sudo apt-get install -y libgl1-mesa-dev libglu1-mesa-dev libx11-dev libxi-dev libxmu-dev
- shell: bash -l {0}
run: |
conda config --show channels | grep defaults && conda config --remove channels defaults
conda info
conda config --show
mamba install -y pip rospkg networkx "catkin_pkg>=0.4.16" "ruamel.yaml>=0.16.6" "rosdistro>=0.8.0" "empy>=3.3.4"
mamba install -y boa --only-deps
- name: install vinca and boa main
micromamba install -y pip rospkg networkx "catkin_pkg>=0.4.16" "ruamel.yaml>=0.16.6" "rosdistro>=0.8.0" "empy>=3.3.4" boa
- name: install vinca and boa master
shell: bash -l {0}
run: |
# use no-deps for now, otherwise problems with ruamel.
pip install git+https://github.com/RoboStack/vinca.git --no-deps
# for now we need boa main
pip install git+https://github.com/mamba-org/boa@main
# For some reason, the Strawberry perl's pkg-config is found
# instead of the conda's one, so let's delete the /c/Strawberry directory
- name: Debug pkg-config problem
if: contains(matrix.os, 'windows')
shell: bash -l {0}
run: |
rm -rf /c/Strawberry
- name: Check what files have changed
id: filecheck
shell: bash -l {0}
run: |
git fetch origin master
git fetch origin main
# continue on error
set +e
git diff --exit-code --name-only origin/master -- vinca_linux_64.yaml > /dev/null
git diff --exit-code --name-only origin/main -- vinca_linux_64.yaml > /dev/null
echo "::set-output name=LINUX_YAML_CHANGED::${?}"
git diff --exit-code --name-only origin/master -- vinca_linux_aarch64.yaml > /dev/null
git diff --exit-code --name-only origin/main -- vinca_linux_aarch64.yaml > /dev/null
echo "::set-output name=LINUX_AARCH_YAML_CHANGED::${?}"
git diff --exit-code --name-only origin/master -- vinca_osx.yaml > /dev/null
git diff --exit-code --name-only origin/main -- vinca_osx.yaml > /dev/null
echo "::set-output name=OSX_YAML_CHANGED::${?}"
git diff --exit-code --name-only origin/master -- vinca_osx_arm64.yaml > /dev/null
git diff --exit-code --name-only origin/main -- vinca_osx_arm64.yaml > /dev/null
echo "::set-output name=OSX_ARM_YAML_CHANGED::${?}"
git diff --exit-code --name-only origin/master -- vinca_win.yaml > /dev/null
git diff --exit-code --name-only origin/main -- vinca_win.yaml > /dev/null
echo "::set-output name=WIN_YAML_CHANGED::${?}"
- name: Generate recipes for Linux
shell: bash -l {0}
Expand Down Expand Up @@ -147,10 +152,10 @@ jobs:
echo "::set-output name=RECIPE_CREATED::${?}"
- name: Build recipes for Linux
shell: bash -l {0}
if: steps.newrecipecheck.outputs.RECIPE_CREATED == 1 && steps.filecheck.outputs.LINUX_YAML_CHANGED == 1 && matrix.os == 'ubuntu-latest' && matrix.platform == 'linux-64'
run: |
boa build additional_recipes/ros-distro-mutex/ -m ./.ci_support/conda_forge_pinnings.yaml -m ./conda_build_config.yaml
boa build . -m ./.ci_support/conda_forge_pinnings.yaml -m ./conda_build_config.yaml
if: steps.newrecipecheck.outputs.RECIPE_CREATED == 1 && steps.filecheck.outputs.LINUX_YAML_CHANGED == 1 && matrix.os == 'ubuntu-latest' && matrix.platform == 'linux-64'
- name: Build recipes for Linux-ARM64
shell: bash -l {0}
if: steps.newrecipecheck.outputs.RECIPE_CREATED == 1 && steps.filecheck.outputs.LINUX_AARCH_YAML_CHANGED == 1 && matrix.os == 'ubuntu-latest' && matrix.platform == 'linux-aarch64'
Expand Down
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -2,5 +2,6 @@ vinca.yaml
recipes/
*.bat
*.sh
*.ps1
*.json
.DS_Store
5 changes: 1 addition & 4 deletions .scripts/build_linux.sh
Original file line number Diff line number Diff line change
Expand Up @@ -35,10 +35,7 @@ conda config --remove channels defaults
# conda config --set channel_priority strict

mamba update conda --yes --quiet -c conda-forge
mamba install --yes --quiet pip conda-build anaconda-client mamba
mamba install --yes --quiet boa --only-deps
mamba remove --yes --quiet boa || true
pip install git+https://github.com/mamba-org/boa@main --no-deps
mamba install --yes --quiet pip conda-build anaconda-client mamba boa

# setup_conda_rc "${FEEDSTOCK_ROOT}" "${RECIPE_ROOT}" "${CONFIG_FILE}"
# export PATH="$HOME/miniconda/bin:$PATH"
Expand Down
8 changes: 3 additions & 5 deletions additional_recipes/ros-distro-mutex/recipe.yaml
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
package:
name: ros-distro-mutex
version: 0.4.0
version: 0.5.0

build:
number: 3
number: 4
string: noetic
run_exports:
- "{{ pin_subpackage('ros-distro-mutex', max_pin='x.x') }}"
Expand All @@ -29,11 +29,9 @@ requirements:
# if the upstream package does not have run_exports
# please change it in the conda_build_config.yaml!
run_constrained:
- boost-cpp 1.78
- pcl 1.12
- gazebo 11
- ogre 1.10.12
- libpqxx 6
- libpqxx 7.8

about:
home: https://github.com/robostack/ros-noetic
Expand Down
29 changes: 13 additions & 16 deletions additional_recipes/ros-noetic-eigenpy/recipe.yaml
Original file line number Diff line number Diff line change
@@ -1,20 +1,17 @@
package:
name: ros-noetic-eigenpy
version: "2.8.1"
name: ros-noetic-eigenpy-recipe
version: "3.1.0"

build:
number: 20
number: 21

requirements:
run:
- eigenpy 2.8.1


about:
home: https://github.com/conda-forge/eigenpy-feedstock
license: BSD-2-Clause
summary: |
Bindings between Numpy and Eigen using Boost.Python
extra:
recipe-maintainers:
- ros-forge
outputs:
- package:
name: ros-noetic-eigenpy
version: "3.1.0"
build:
run_exports:
- "{{ pin_subpackage('ros-noetic-eigenpy', max_pin='x.x.x') }}"
requirements:
run:
- eigenpy 3.1.0
17 changes: 17 additions & 0 deletions additional_recipes/ros-noetic-hpp-fcl/recipe.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
package:
name: ros-noetic-hpp-fcl-recipe
version: "2.3.6"

build:
number: 21

outputs:
- package:
name: ros-noetic-hpp-fcl
version: "2.3.6"
build:
run_exports:
- "{{ pin_subpackage('ros-noetic-hpp-fcl', max_pin='x.x.x') }}"
requirements:
run:
- hpp-fcl 2.3.6
17 changes: 17 additions & 0 deletions additional_recipes/ros-noetic-pinocchio/recipe.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
package:
name: ros-noetic-pinocchio-recipe
version: "2.6.20"

build:
number: 21

outputs:
- package:
name: ros-noetic-pinocchio
version: "2.6.20"
build:
run_exports:
- "{{ pin_subpackage('ros-noetic-pinocchio', max_pin='x.x.x') }}"
requirements:
run:
- pinocchio 2.6.20
Loading

0 comments on commit c93c9cc

Please sign in to comment.