Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Full Rebuild January 2024 with updated conda-forge pinnings #418

Merged
merged 34 commits into from
Jan 29, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
34 commits
Select commit Hold shift + click to select a range
54441e2
Full Rebuild October 2023
traversaro Oct 14, 2023
e64d8ec
Remove foxglove_bridge for now
traversaro Oct 14, 2023
ab5d3d2
Update ros-noetic-microstrain-inertial-driver.patch
traversaro Oct 14, 2023
fab5f9c
Update conda_forge_pinnings.yaml
traversaro Oct 14, 2023
dac8c50
Update conda_build_config.yaml
traversaro Oct 14, 2023
153d7a4
Delete patch/ros-noetic-geometric-shapes.win.patch
traversaro Oct 14, 2023
7702a6d
Delete patch/ros-noetic-moveit-core.patch
traversaro Oct 14, 2023
45f0d6d
Update recipe.yaml
traversaro Oct 14, 2023
03dae86
Update conda_forge_pinnings.yaml
traversaro Oct 14, 2023
3b11574
remove pybind11-catkin patch
lianghongzhuo Sep 30, 2023
806be5a
fix pybind11 build error
lianghongzhuo Sep 30, 2023
e6eea21
fix control-box-rst
lianghongzhuo Oct 4, 2023
df81ecd
Update ros-noetic-moveit-ros-planning.win.patch
traversaro Oct 14, 2023
c84a0a5
Update ros-noetic-rosmon-core.patch
traversaro Oct 14, 2023
170c181
Create ros-noetic-sophus.path
traversaro Oct 14, 2023
9d48f74
Fix name of sophus patch and bump eigenpy
traversaro Oct 15, 2023
48976fc
fix ros-noetic-moveit-ros-planning patch
traversaro Oct 15, 2023
c3f43d7
Update additional_recipes
traversaro Oct 16, 2023
f649206
Temporarily build ros-noetic-eigenpy
Tobias-Fischer Oct 16, 2023
2c74a1b
Fix run_exports in eigenpy, hpp-fcl and pinocchio
traversaro Oct 17, 2023
2449dd3
Manually build hpp-fcl and pinocchio
traversaro Oct 17, 2023
cc1b1b3
Fixup pinoccio version
Tobias-Fischer Oct 17, 2023
c001f7f
Really skip pinocchio (remove from select_by_deps)
Tobias-Fischer Oct 18, 2023
134c442
See if boa segfault goes away with boa release instead of boa main on…
Tobias-Fischer Oct 18, 2023
3c2f198
Sync with humble
Tobias-Fischer Jan 26, 2024
ce8fc50
Fixes
Tobias-Fischer Jan 26, 2024
fc20e35
Fixups
Tobias-Fischer Jan 26, 2024
0d44fe3
Merge branch 'master' into fullrebuild202310
Tobias-Fischer Jan 26, 2024
5e6588f
Fixing patches
Tobias-Fischer Jan 26, 2024
7a32854
Fixes for linux-aarch64
Tobias-Fischer Jan 27, 2024
12b59dc
Local linux-64 build
Tobias-Fischer Jan 27, 2024
8853647
A few more packages, including rtabmap
Tobias-Fischer Jan 28, 2024
6d7f6c8
Be more verbose about commented-out packages in vinca files.
peci1 Oct 25, 2023
6a2d922
Reviewer comments @traversaro
Tobias-Fischer Jan 28, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
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
Loading