Skip to content

Commit

Permalink
Fresh builds (#295)
Browse files Browse the repository at this point in the history
* Update conda_forge_pinnings.yaml

* Update pinnings

* Bump build numbers

* Build requested packages

* Fixup

* No need for opencv pinning anymore

* Old ogre for noetic

* Sync with humble

* Fix

* Fix

* Sync

* full_rebuild=true

* Update run_constraints

* Fixup rviz patch

* Update vinca_linux_aarch64.yaml

* Update vinca_osx_arm64.yaml

* Update vinca_win.yaml

* pcl 1.12.1

* qt 5.15

* Fixup qt-main for linux

* Add -DNOGDI to Windows build or RViz (#296)

To avoid #295 (comment), see ros-industrial/abb_robot_driver#17 (comment) .

* Bump jackal packages, use now released noetic packages instead of melodic ones

* Add libcurl mapping

* Update patches

* Actually rebuild all packages

* Additional mappings

* Fix qt-gui-cpp issues

* Fixup

* Fixup again

* Last remaining qt-gui-cpp fixes

* Fix rviz on Linux, rtabmap does not currently work due to mismatched migrations re boost and vtk

* Fixes for rviz

* Progress toward rviz

* rviz debug

* rviz finally working locally

* Fixup patch on win

* doxygen wants dot (graphviz)

* linux-64 complete now ;)

* fixup robot-locatization win patch

* Create ros-noetic-eigenpy.patch

* Update ros-noetic-eigenpy.patch

* Update ros-noetic-eigenpy.patch

* Update ros-noetic-eigenpy.patch

* Simplify find python stuff

* only eigenpy at the moment on aarch for faster debug

* Simplify find python stuff

* Add move-base to osx-arm64

* Update conda_forge_pinnings.yaml

* Update conda_build_config.yaml

* Boost 1.78

* mirror ros-humble changes

* Try and de-vendor eigenpy

* Unconditionally use sip5 ..

* Sync with humble

* Prepare building on robostack-staging channel

Co-authored-by: Silvio Traversaro <[email protected]>
  • Loading branch information
Tobias-Fischer and traversaro authored Jan 19, 2023
1 parent 48099b0 commit 44684d4
Show file tree
Hide file tree
Showing 44 changed files with 3,742 additions and 1,020 deletions.
470 changes: 221 additions & 249 deletions .ci_support/conda_forge_pinnings.yaml

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion .github/testpr_environment.yml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
name: testpr_env
channels:
- robostack
- robostack-experimental
- robostack-staging
- conda-forge
dependencies:
- python 3.9.*
Expand Down
52 changes: 15 additions & 37 deletions .github/workflows/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,10 +8,10 @@ jobs:
fetch-depth: 0 # otherwise, you will failed to push refs to dest repo
- uses: actions/setup-python@v2
with:
python-version: '3.8' # Version range or exact version of a Python version to use, using SemVer's version range syntax
python-version: '3.9' # 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@master
pip install git+https://github.com/RoboStack/vinca.git
- name: Generate recipes for Linux
run: |
Expand All @@ -20,10 +20,11 @@ jobs:
vinca --multiple --platform linux-64
- name: Generate azure pipelines for Linux
run: |
vinca-azure --platform linux-64 --trigger-branch buildbranch_linux -d ./recipes --additional-recipes
vinca-gha --platform linux-64 --trigger-branch buildbranch_linux -d ./recipes --additional-recipes
- name: Commit files
run: |
if [[ -f "linux.yml" ]]; then
mv linux.yml .github/workflows/
git config --local user.email "[email protected]"
git config --local user.name "GitHub Action"
git add . -f
Expand All @@ -32,7 +33,7 @@ jobs:
git push "${remote_repo}" HEAD:buildbranch_linux --follow-tags --force
fi
env:
INPUT_GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
INPUT_GITHUB_TOKEN: ${{ secrets.GHA_PAT }}

# Generate recipes for osx
- name: Reset repo
Expand All @@ -45,20 +46,20 @@ jobs:
vinca --multiple --platform osx-64
- name: Generate azure pipelines for macOS
run: |
vinca-azure --platform osx-64 --trigger-branch buildbranch_osx -d ./recipes --additional-recipes
vinca-gha --platform osx-64 --trigger-branch buildbranch_osx -d ./recipes --additional-recipes
- name: Commit files
run: |
if [[ -f "osx.yml" ]]; then
mv osx.yml .github/workflows/
git config --local user.email "[email protected]"
git config --local user.name "GitHub Action"
git add . -f
git commit -m "Add build files `date '+%Y-%m-%d-%H%M'`" -a
remote_repo="https://${GITHUB_ACTOR}:${INPUT_GITHUB_TOKEN}@github.com/${GITHUB_REPOSITORY}.git"
git push "${remote_repo}" HEAD:buildbranch_osx --follow-tags --force
fi
env:
INPUT_GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
INPUT_GITHUB_TOKEN: ${{ secrets.GHA_PAT }}

# Generate recipes for osx-arm64
- name: Reset repo
Expand All @@ -71,10 +72,11 @@ jobs:
vinca --multiple --platform osx-arm64
- name: Generate azure pipelines for macOS (arm64)
run: |
vinca-azure --platform osx-arm64 --trigger-branch buildbranch_osx_arm64 -d ./recipes --additional-recipes
vinca-gha --platform osx-arm64 --trigger-branch buildbranch_osx_arm64 -d ./recipes --additional-recipes
- name: Commit files
run: |
if [[ -f "osx_arm64.yml" ]]; then
mv osx_arm64.yml .github/workflows/
git config --local user.email "[email protected]"
git config --local user.name "GitHub Action"
git add . -f
Expand All @@ -83,7 +85,7 @@ jobs:
git push "${remote_repo}" HEAD:buildbranch_osx_arm64 --follow-tags --force
fi
env:
INPUT_GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
INPUT_GITHUB_TOKEN: ${{ secrets.GHA_PAT }}

# Generate recipes for Windows
- name: Reset repo
Expand All @@ -96,10 +98,11 @@ jobs:
vinca --multiple --platform win-64
- name: Generate azure pipelines for Windows
run: |
vinca-azure --platform win-64 --trigger-branch buildbranch_win -d ./recipes --additional-recipes
vinca-gha --platform win-64 --trigger-branch buildbranch_win -d ./recipes --additional-recipes
- name: Commit files for Windows
run: |
if [[ -f "win.yml" ]]; then
mv win.yml .github/workflows/
git config --local user.email "[email protected]"
git config --local user.name "GitHub Action"
git add . -f
Expand All @@ -108,7 +111,7 @@ jobs:
git push "${remote_repo}" HEAD:buildbranch_win --follow-tags --force
fi
env:
INPUT_GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
INPUT_GITHUB_TOKEN: ${{ secrets.GHA_PAT }}

# Generate recipes for Linux ARM64
- name: Reset repo
Expand All @@ -120,31 +123,6 @@ jobs:
cp vinca_linux_aarch64.yaml vinca.yaml
vinca --multiple --platform linux-aarch64
- name: Generate azure pipelines for Linux ARM64
run: |
vinca-azure --platform linux-aarch64 --trigger-branch buildbranch_linux_aarch64 -d ./recipes --additional-recipes
- name: Commit files
run: |
if [[ -f "linux_aarch64.yml" ]]; then
git config --local user.email "[email protected]"
git config --local user.name "GitHub Action"
git add . -f
git commit -m "Add build files `date '+%Y-%m-%d-%H%M'`" -a
remote_repo="https://${GITHUB_ACTOR}:${INPUT_GITHUB_TOKEN}@github.com/${GITHUB_REPOSITORY}.git"
git push "${remote_repo}" HEAD:buildbranch_linux_aarch64 --follow-tags --force
fi
env:
INPUT_GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

# Generate recipes for Linux ARM64
- name: Reset repo
run: |
git reset --hard origin/master
- name: Generate recipes for Linux ARM64
run: |
git clean -fdx
cp vinca_linux_aarch64.yaml vinca.yaml
vinca --multiple --platform linux-aarch64
- name: Generate Github pipelines for Linux ARM64
run: |
vinca-gha --platform linux-aarch64 --trigger-branch buildbranch_linux_aarch64 -d ./recipes --additional-recipes
- name: Commit files
Expand All @@ -161,8 +139,8 @@ jobs:
env:
INPUT_GITHUB_TOKEN: ${{ secrets.GHA_PAT }}


on:
push:
branches:
- master
- main
15 changes: 9 additions & 6 deletions .github/workflows/testpr.yml
Original file line number Diff line number Diff line change
Expand Up @@ -50,17 +50,15 @@ jobs:
- 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 libmambapy rich networkx "catkin_pkg>=0.4.16" "ruamel.yaml>=0.16.6" "rosdistro>=0.8.0" "empy>=3.3.4"
mamba install -y boa
mamba 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: |
# for now we need boa master
# pip install git+https://github.com/mamba-org/boa@master
# use no-deps for now, otherwise problems with ruamel.
pip install git+https://github.com/RoboStack/vinca.git@master --no-deps
pip install git+https://github.com/RoboStack/vinca.git --no-deps
# 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
Expand Down Expand Up @@ -134,24 +132,29 @@ jobs:
shell: bash -l {0}
if: 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
- name: Build recipes for Linux-ARM64
shell: bash -l {0}
if: steps.filecheck.outputs.LINUX_AARCH_YAML_CHANGED == 1 && matrix.os == 'ubuntu-latest' && matrix.platform == 'linux-aarch64'
run: |
boa build additional_recipes/ros-distro-mutex/ -m ./.ci_support/conda_forge_pinnings.yaml -m ./conda_build_config.yaml --target-platform=linux-aarch64
boa build . -m ./.ci_support/conda_forge_pinnings.yaml -m ./conda_build_config.yaml --target-platform=linux-aarch64
- name: Build recipes for macOS
shell: bash -l {0}
if: steps.filecheck.outputs.OSX_YAML_CHANGED == 1 && matrix.os == 'macos-latest' && matrix.platform == 'osx-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
- name: Build recipes for macOS-ARM64
shell: bash -l {0}
if: steps.filecheck.outputs.OSX_YAML_CHANGED == 1 && matrix.os == 'macos-latest' && matrix.platform == 'osx-arm64'
if: steps.filecheck.outputs.OSX_ARM_YAML_CHANGED == 1 && matrix.os == 'macos-latest' && matrix.platform == 'osx-arm64'
run: |
boa build additional_recipes/ros-distro-mutex/ -m ./.ci_support/conda_forge_pinnings.yaml -m ./conda_build_config.yaml --target-platform=osx-arm64
boa build . -m ./.ci_support/conda_forge_pinnings.yaml -m ./conda_build_config.yaml --target-platform=osx-arm64
- name: Build recipes for Windows
shell: bash -l {0}
if: steps.filecheck.outputs.WIN_YAML_CHANGED == 1 && matrix.os == 'windows-2019' && matrix.platform == 'win-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
3 changes: 2 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -2,4 +2,5 @@ vinca.yaml
recipes/
*.bat
*.sh
*.json
*.json
.DS_Store
4 changes: 3 additions & 1 deletion .scripts/build_linux.sh
Original file line number Diff line number Diff line change
Expand Up @@ -26,15 +26,17 @@ export "CONDA_BLD_PATH=/opt/conda/build_artifacts"

mkdir -p $CONDA_BLD_PATH
conda index $CONDA_BLD_PATH

conda config --set remote_max_retries 5
conda config --add channels conda-forge
conda config --add channels robostack
conda config --add channels robostack-staging
conda config --add channels $CONDA_BLD_PATH
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=3.21.8 anaconda-client mamba boa=0.9
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
5 changes: 3 additions & 2 deletions .scripts/build_osx.sh
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ conda activate base
conda config --set remote_max_retries 5

echo -e "\n\nInstalling conda-forge-ci-setup=3 and conda-build."
mamba install -n base --quiet --yes conda-forge-ci-setup=3 conda-build pip boa=0.9 quetz-client -c conda-forge
mamba install -n base --quiet --yes conda-forge-ci-setup=3 conda-build pip boa quetz-client -c conda-forge

set -e

Expand All @@ -43,8 +43,9 @@ conda config --set auto_update_conda false
conda config --set add_pip_as_python_dependency false

conda config --add channels conda-forge
conda config --add channels robostack-experimental
conda config --add channels robostack
conda config --add channels robostack-staging
conda config --add channels $CONDA_BLD_PATH
# conda config --set channel_priority strict

# echo -e "\n\nMaking the build clobber file and running the build."
Expand Down
5 changes: 3 additions & 2 deletions .scripts/build_osx_arm64.sh
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ conda activate base
conda config --set remote_max_retries 5

echo -e "\n\nInstalling conda-forge-ci-setup=3 and conda-build."
mamba install -n base --quiet --yes conda-forge-ci-setup=3 conda-build pip boa=0.9 quetz-client -c conda-forge
mamba install -n base --quiet --yes conda-forge-ci-setup=3 conda-build pip boa quetz-client -c conda-forge

set -e

Expand All @@ -43,8 +43,9 @@ conda config --set auto_update_conda false
conda config --set add_pip_as_python_dependency false

conda config --add channels conda-forge
conda config --add channels robostack-experimental
conda config --add channels robostack
conda config --add channels robostack-staging
conda config --add channels $CONDA_BLD_PATH
# conda config --set channel_priority strict

# echo -e "\n\nMaking the build clobber file and running the build."
Expand Down
22 changes: 13 additions & 9 deletions .scripts/build_win.bat
Original file line number Diff line number Diff line change
@@ -1,4 +1,6 @@
call activate base
setlocal EnableExtensions EnableDelayedExpansion
call %CONDA%\condabin\conda_hook.bat
call %CONDA%\condabin\conda.bat activate base

set "PATH=%PATH:C:\ProgramData\Chocolatey\bin;=%"
set "PATH=%PATH:C:\Program Files (x86)\sbt\bin;=%"
Expand All @@ -16,28 +18,30 @@ set "PATH=%PATH:c:\tools\php;=%"
:: Make paths like C:\\hostedtoolcache\\windows\\Ruby\\2.5.7\\x64\\bin garbage
set "PATH=%PATH:ostedtoolcache=%"

call C:\Miniforge\Scripts\activate.bat base

echo "PATH is %PATH%"
echo "CONDA_BLD_PATH is %CONDA_BLD_PATH%"

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

set "FEEDSTOCK_ROOT=%cd%"

mkdir %CONDA_BLD_PATH%
call conda.exe index "%CONDA_BLD_PATH%"
call conda index %CONDA_BLD_PATH%

rem call conda config --remove channels defaults
call conda.exe config --add channels conda-forge
call conda.exe config --add channels robostack
call conda.exe config --add channels %CONDA_BLD_PATH%
call conda config --add channels conda-forge
call conda config --add channels robostack
call conda config --add channels robostack-staging
call conda config --add channels %CONDA_BLD_PATH%
:: call conda config --set channel_priority strict

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

:: conda remove --force m2-git

:: C:\Miniconda\python.exe -m pip install git+https://github.com/mamba-org/boa.git@master
call mamba.exe install boa=0.9
call mamba install boa
if errorlevel 1 exit 1

for %%X in (%CURRENT_RECIPES%) do (
Expand Down
15 changes: 8 additions & 7 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,12 +4,12 @@
[![GitHub Repo stars](https://img.shields.io/github/stars/robostack/ros-noetic?style=flat-square)](https://github.com/RoboStack/ros-noetic/)
[![QUT Centre for Robotics](https://img.shields.io/badge/collection-QUT%20Robotics-%23043d71?style=flat-square)](https://qcr.ai)

[![Platforms](https://img.shields.io/badge/platforms-linux%20%7C%20win%20%7C%20macos%20%7C%20linux%E2%80%93aarch64%20%7C%20macos%E2%80%93arm64-green.svg?style=flat-square)](https://github.com/RoboStack/ros-noetic)
[![Azure DevOps builds (branch)](https://img.shields.io/azure-devops/build/robostack/f91d909b-3931-44f7-9823-19fcd42e7d04/8/buildbranch_linux?label=build%20linux&style=flat-square)](https://dev.azure.com/robostack/ros_pipelines/_build?definitionId=8&_a=summary)
[![Azure DevOps builds (branch)](https://img.shields.io/azure-devops/build/robostack/f91d909b-3931-44f7-9823-19fcd42e7d04/10/buildbranch_win?label=build%20win&style=flat-square)](https://dev.azure.com/robostack/ros_pipelines/_build?definitionId=10&_a=summary)
[![Azure DevOps builds (branch)](https://img.shields.io/azure-devops/build/robostack/f91d909b-3931-44f7-9823-19fcd42e7d04/9/buildbranch_osx?label=build%20macos&style=flat-square)](https://dev.azure.com/robostack/ros_pipelines/_build?definitionId=9&_a=summary)
[![Azure DevOps builds (branch)](https://img.shields.io/azure-devops/build/robostack/f91d909b-3931-44f7-9823-19fcd42e7d04/11/buildbranch_linux_aarch64?label=build%20aarch64&style=flat-square)](https://dev.azure.com/robostack/ros_pipelines/_build?definitionId=11&_a=summary)
[![Azure DevOps builds (branch)](https://img.shields.io/azure-devops/build/robostack/f91d909b-3931-44f7-9823-19fcd42e7d04/29/buildbranch_osx_arm64?label=build%20macos-arm64&style=flat-square)](https://dev.azure.com/robostack/ros_pipelines/_build?definitionId=29&_a=summary)
[![Platforms](https://img.shields.io/badge/platforms-linux%20%7C%20win%20%7C%20macos%20%7C%20macos_arm64%20%7C%20linux_aarch64-green.svg?style=flat-square)](https://github.com/RoboStack/ros-noetic)
[![Azure DevOps builds (branch)](https://img.shields.io/github/workflow/status/RoboStack/ros-noetic/build_linux/buildbranch_linux?label=build%20linux&style=flat-square)](https://github.com/RoboStack/ros-noetic/actions/workflows/linux.yml)
[![Azure DevOps builds (branch)](https://img.shields.io/github/workflow/status/RoboStack/ros-noetic/build_win/buildbranch_win?label=build%20win&style=flat-square)](https://github.com/RoboStack/ros-noetic/actions/workflows/win.yml)
[![Azure DevOps builds (branch)](https://img.shields.io/github/workflow/status/RoboStack/ros-noetic/build_osx/buildbranch_osx?label=build%20osx&style=flat-square)](https://github.com/RoboStack/ros-noetic/actions/workflows/osx.yml)
[![Azure DevOps builds (branch)](https://img.shields.io/github/workflow/status/RoboStack/ros-noetic/build_osx/buildbranch_osx_arm64?label=build%20osx-arm64&style=flat-square)](https://github.com/RoboStack/ros-noetic/actions/workflows/osx_arm64.yml)
[![Azure DevOps builds (branch)](https://img.shields.io/github/workflow/status/RoboStack/ros-noetic/build_linux/buildbranch_linux_aarch64?label=build%20aarch64&style=flat-square)](https://github.com/RoboStack/ros-noetic/actions/workflows/linux_aarch64.yml)

[![GitHub issues](https://img.shields.io/github/issues-raw/robostack/ros-noetic?style=flat-square)](https://github.com/RoboStack/ros-noetic/issues)
[![GitHub closed issues](https://img.shields.io/github/issues-closed-raw/robostack/ros-noetic?style=flat-square)](https://github.com/RoboStack/ros-noetic/issues?q=is%3Aissue+is%3Aclosed)
Expand Down Expand Up @@ -43,7 +43,8 @@ To get started with conda (or mamba) as package managers, you need to have a bas
# if you don't have mamba yet, install it first in the base environment (not needed when using mambaforge):
conda install mamba -c conda-forge

mamba create -n robostackenv ros-noetic-desktop python=3.9 -c robostack -c robostack-experimental -c conda-forge --no-channel-priority --override-channels
# now create a new environment
mamba create -n robostackenv ros-noetic-desktop python=3.9 -c robostack -c conda-forge --no-channel-priority --override-channels
conda activate robostackenv

# optionally, install some compiler packages if you want to e.g. build packages in a catkin_ws:
Expand Down
12 changes: 4 additions & 8 deletions additional_recipes/ros-distro-mutex/recipe.yaml
Original file line number Diff line number Diff line change
@@ -1,13 +1,12 @@
package:
name: ros-distro-mutex
version: 0.3.0
version: 0.4.0

build:
number: 2
number: 3
string: noetic
run_exports:
# NOTE MANUALLY EDIT THIS!!!!
- ros-distro-mutex 0.3 noetic
- "{{ pin_subpackage('ros-distro-mutex', max_pin='x.x') }}"

requirements:
# NOTE:
Expand All @@ -30,11 +29,8 @@ requirements:
# if the upstream package does not have run_exports
# please change it in the conda_build_config.yaml!
run_constrained:
- boost-cpp 1.74
- log4cxx 0.11
- boost-cpp 1.78
- pcl 1.12
- libopencv 4.5.5
- poco 1.11
- gazebo 11
- ogre 1.10.12
- libpqxx 6
Expand Down
Loading

0 comments on commit 44684d4

Please sign in to comment.