Skip to content

Commit

Permalink
Merge branch 'main' into patch-1
Browse files Browse the repository at this point in the history
  • Loading branch information
Tobias-Fischer authored Mar 1, 2024
2 parents d9b9e0d + c06cdce commit 409a6d2
Show file tree
Hide file tree
Showing 65 changed files with 3,042 additions and 1,596 deletions.
477 changes: 292 additions & 185 deletions .ci_support/conda_forge_pinnings.yaml

Large diffs are not rendered by default.

6 changes: 3 additions & 3 deletions .cirun.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,9 @@ 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
- 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@v4
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@v5
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
83 changes: 54 additions & 29 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 All @@ -12,7 +12,7 @@ jobs:
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest, macos-latest, windows-2019]
os: [ubuntu-latest, macos-latest, macos-14, windows-2019]
platform: [linux-64, linux-aarch64, osx-64, win-64, osx-arm64]
exclude:
- os: ubuntu-latest
Expand All @@ -21,10 +21,20 @@ jobs:
platform: osx-64
- os: ubuntu-latest
platform: osx-arm64
- os: macos-14
platform: linux-64
- os: macos-14
platform: linux-aarch64
- os: macos-14
platform: osx-64
- os: macos-14
platform: win-64
- os: macos-latest
platform: linux-64
- os: macos-latest
platform: linux-aarch64
- os: macos-latest
platform: osx-arm64
- os: macos-latest
platform: win-64
- os: windows-2019
Expand All @@ -36,63 +46,78 @@ jobs:
- os: windows-2019
platform: osx-arm64
steps:
# Workaround for https://github.com/RoboStack/ros-humble/pull/141#issuecomment-1941919816
- name: Clean up PATH
if: contains(matrix.os, 'windows')
uses: egor-tensin/cleanup-path@v4
with:
# cygpath in C:\Program Files\Git\usr\bin is used by install micromamba
# git in C:\Program Files\Git\bin is used by pip install git+
dirs: 'C:\Program Files\Git\usr\bin;C:\Program Files\Git\bin;C:\Program Files\Git\cmd;C:\Program Files\Git\mingw64\bin'

- 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 update
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
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
- name: Generate recipes for linux-64
shell: bash -l {0}
if: steps.filecheck.outputs.LINUX_YAML_CHANGED == 1 && matrix.os == 'ubuntu-latest' && matrix.platform == 'linux-64'
run: |
Expand All @@ -101,7 +126,7 @@ jobs:
vinca --platform linux-64
ls
cat recipe.yaml
- name: Generate recipes for Linux-ARM64
- name: Generate recipes for linux-aarch64
shell: bash -l {0}
if: steps.filecheck.outputs.LINUX_AARCH_YAML_CHANGED == 1 && matrix.os == 'ubuntu-latest' && matrix.platform == 'linux-aarch64'
run: |
Expand All @@ -110,7 +135,7 @@ jobs:
vinca --platform linux-aarch64
ls
cat recipe.yaml
- name: Generate recipes for macOS
- name: Generate recipes for osx-64
shell: bash -l {0}
if: steps.filecheck.outputs.OSX_YAML_CHANGED == 1 && matrix.os == 'macos-latest' && matrix.platform == 'osx-64'
run: |
Expand All @@ -119,16 +144,16 @@ jobs:
vinca --platform osx-64
ls
cat recipe.yaml
- name: Generate recipes for macOS-ARM64
- name: Generate recipes for osx-arm64
shell: bash -l {0}
if: steps.filecheck.outputs.OSX_ARM_YAML_CHANGED == 1 && matrix.os == 'macos-latest' && matrix.platform == 'osx-arm64'
if: steps.filecheck.outputs.OSX_ARM_YAML_CHANGED == 1 && matrix.os == 'macos-14' && matrix.platform == 'osx-arm64'
run: |
git clean -fdx
cp vinca_osx_arm64.yaml vinca.yaml
vinca --platform osx-arm64
ls
cat recipe.yaml
- name: Generate recipes for Windows
- name: Generate recipes for win-64
shell: bash -l {0}
if: steps.filecheck.outputs.WIN_YAML_CHANGED == 1 && matrix.os == 'windows-2019' && matrix.platform == 'win-64'
run: |
Expand All @@ -145,31 +170,31 @@ jobs:
set +e
grep -q "outputs: \[\]" recipe.yaml > /dev/null
echo "::set-output name=RECIPE_CREATED::${?}"
- name: Build recipes for Linux
- name: Build recipes for linux-64
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
- name: Build recipes for Linux-ARM64
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-aarch64
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'
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
- name: Build recipes for osx-64
shell: bash -l {0}
if: steps.newrecipecheck.outputs.RECIPE_CREATED == 1 && 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
- name: Build recipes for osx-arm64
shell: bash -l {0}
if: steps.newrecipecheck.outputs.RECIPE_CREATED == 1 && steps.filecheck.outputs.OSX_ARM_YAML_CHANGED == 1 && matrix.os == 'macos-latest' && matrix.platform == 'osx-arm64'
if: steps.newrecipecheck.outputs.RECIPE_CREATED == 1 && steps.filecheck.outputs.OSX_ARM_YAML_CHANGED == 1 && matrix.os == 'macos-14' && 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
boa build . -m ./.ci_support/conda_forge_pinnings.yaml -m ./conda_build_config.yaml
- name: Build recipes for win-64
shell: bash -l {0}
if: steps.newrecipecheck.outputs.RECIPE_CREATED == 1 && steps.filecheck.outputs.WIN_YAML_CHANGED == 1 && matrix.os == 'windows-2019' && matrix.platform == 'win-64'
run: |
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 remove --yes --quiet boa || true
# mamba install --yes boa --only-deps
pip install git+https://github.com/mamba-org/boa@main
mamba install --yes --quiet pip conda-build=3.27 anaconda-client mamba boa

# setup_conda_rc "${FEEDSTOCK_ROOT}" "${RECIPE_ROOT}" "${CONFIG_FILE}"
# export PATH="$HOME/miniconda/bin:$PATH"
Expand Down
Loading

0 comments on commit 409a6d2

Please sign in to comment.