Skip to content

Commit e447ff9

Browse files
authored
Unify pixi environments and sync testpr job with humble one (#537)
* Cleanup pixi.toml * Update vinca * Align testpr with humble
1 parent bd1d2f4 commit e447ff9

3 files changed

Lines changed: 136 additions & 471 deletions

File tree

.github/workflows/testpr.yml

Lines changed: 34 additions & 86 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
on:
22
pull_request:
3-
paths:
4-
- '*.yaml'
3+
workflow_dispatch:
54

65
env:
76
ROS_VERSION: 1
@@ -20,9 +19,10 @@ jobs:
2019
platform: osx-64
2120
- os: macos-14
2221
platform: osx-arm64
23-
- os: windows-2019
22+
- os: windows-2022
2423
platform: win-64
2524

25+
2626
runs-on: ${{ matrix.os }}
2727

2828
steps:
@@ -31,9 +31,8 @@ jobs:
3131
persist-credentials: false # otherwise, the token used is the GITHUB_TOKEN, instead of your personal token
3232
fetch-depth: 0 # otherwise, you will failed to push refs to dest repo
3333

34-
- uses: prefix-dev/setup-pixi@v0.8.1
34+
- uses: prefix-dev/setup-pixi@v0.8.10
3535
with:
36-
environments: beta
3736
frozen: true
3837

3938
# Workaround for https://github.com/RoboStack/ros-humble/pull/141#issuecomment-1941919816
@@ -45,22 +44,6 @@ jobs:
4544
# git in C:\Program Files\Git\bin is used by pip install git+
4645
dirs: 'C:\Program Files\Git\usr\bin;C:\Program Files\Git\bin;C:\Program Files\Git\cmd;C:\Program Files\Git\mingw64\bin'
4746

48-
# - shell: bash -l {0}
49-
# if: matrix.platform == 'linux-aarch64'
50-
# run: |
51-
# echo "::group::Configure binfmt_misc"
52-
# docker run --rm --privileged multiarch/qemu-user-static:register --reset --credential yes
53-
# export FEEDSTOCK_NAME="$(basename $GITHUB_REPOSITORY)"
54-
# export GIT_BRANCH="$(basename $GITHUB_REF)"
55-
# echo "::endgroup::"
56-
57-
- name: Install libgl1-mesa-dev (only for linux-aarch64)
58-
if: matrix.platform == 'linux-aarch64'
59-
shell: bash -l {0}
60-
run: |
61-
sudo apt-get update
62-
sudo apt-get install -y libgl1-mesa-dev libglu1-mesa-dev libx11-dev libxi-dev libxmu-dev
63-
6447
# For some reason, the Strawberry perl's pkg-config is found
6548
# instead of the conda's one, so let's delete the /c/Strawberry directory
6649
# Furthermore, we also need to remove an older SDK that is used and can result in compilation problems
@@ -71,121 +54,86 @@ jobs:
7154
rm -rf /c/Strawberry
7255
rm -rf "/c/Program Files (x86)/Windows Kits/10/Include/10.0.17763.0/"
7356
74-
- name: Check what files have changed
75-
id: filecheck
76-
shell: bash -l {0}
77-
run: |
78-
git fetch origin main
79-
# continue on error
80-
set +e
81-
git diff --exit-code --name-only origin/main -- vinca_linux_64.yaml > /dev/null
82-
echo "::set-output name=LINUX_YAML_CHANGED::${?}"
83-
git diff --exit-code --name-only origin/main -- vinca_linux_aarch64.yaml > /dev/null
84-
echo "::set-output name=LINUX_AARCH_YAML_CHANGED::${?}"
85-
git diff --exit-code --name-only origin/main -- vinca_osx.yaml > /dev/null
86-
echo "::set-output name=OSX_YAML_CHANGED::${?}"
87-
git diff --exit-code --name-only origin/main -- vinca_osx_arm64.yaml > /dev/null
88-
echo "::set-output name=OSX_ARM_YAML_CHANGED::${?}"
89-
git diff --exit-code --name-only origin/main -- vinca_win.yaml > /dev/null
90-
echo "::set-output name=WIN_YAML_CHANGED::${?}"
9157
- name: Generate recipes for linux-64
9258
shell: bash -l {0}
93-
if: steps.filecheck.outputs.LINUX_YAML_CHANGED == 1 && matrix.platform == 'linux-64'
59+
if: matrix.platform == 'linux-64'
9460
run: |
9561
cp vinca_linux_64.yaml vinca.yaml
9662
mkdir -p recipes
97-
$HOME/.pixi/bin/pixi run -e beta -v vinca --platform linux-64 -m -n
63+
$HOME/.pixi/bin/pixi run -v vinca --platform linux-64 -m
9864
ls -la recipes
9965
- name: Generate recipes for linux-aarch64
10066
shell: bash -l {0}
101-
if: steps.filecheck.outputs.LINUX_AARCH_YAML_CHANGED == 1 && matrix.platform == 'linux-aarch64'
67+
if: matrix.platform == 'linux-aarch64'
10268
run: |
10369
cp vinca_linux_aarch64.yaml vinca.yaml
10470
mkdir -p recipes
105-
$HOME/.pixi/bin/pixi run -e beta -v vinca --platform linux-aarch64 -m -n
71+
$HOME/.pixi/bin/pixi run -v vinca --platform linux-aarch64 -m
10672
ls -la recipes
10773
- name: Generate recipes for osx-64
10874
shell: bash -l {0}
109-
if: steps.filecheck.outputs.OSX_YAML_CHANGED == 1 && matrix.platform == 'osx-64'
75+
if: matrix.platform == 'osx-64'
11076
run: |
11177
cp vinca_osx.yaml vinca.yaml
11278
mkdir -p recipes
113-
$HOME/.pixi/bin/pixi run -e beta -v vinca --platform osx-64 -m -n
79+
$HOME/.pixi/bin/pixi run -v vinca --platform osx-64 -m
11480
ls -la recipes
11581
- name: Generate recipes for osx-arm64
11682
shell: bash -l {0}
117-
if: steps.filecheck.outputs.OSX_ARM_YAML_CHANGED == 1 && matrix.platform == 'osx-arm64'
83+
if: matrix.platform == 'osx-arm64'
11884
run: |
11985
cp vinca_osx_arm64.yaml vinca.yaml
12086
mkdir -p recipes
121-
$HOME/.pixi/bin/pixi run -e beta -v vinca --platform osx-arm64 -m -n
87+
$HOME/.pixi/bin/pixi run -v vinca --platform osx-arm64 -m
12288
ls -la recipes
12389
- name: Generate recipes for win-64
12490
shell: bash -l {0}
125-
if: steps.filecheck.outputs.WIN_YAML_CHANGED == 1 && matrix.platform == 'win-64'
91+
if: matrix.platform == 'win-64'
12692
run: |
12793
# Workaround for problem related to long paths
12894
echo "CONDA_BLD_PATH=C:\\bld\\" >> $GITHUB_ENV
12995
mkdir /c/bld
13096
cp vinca_win.yaml vinca.yaml
13197
mkdir -p recipes
132-
$HOME/.pixi/bin/pixi run -e beta -v vinca --platform win-64 -m -n
98+
$HOME/.pixi/bin/pixi run -v vinca --platform win-64 -m
13399
ls -la recipes
134100
- name: Check if there are packages to be built
135101
id: newrecipecheck
136102
shell: bash -l {0}
137103
run: |
138-
# continue on error
139104
set +e
140-
test ! -d recipes
141-
echo "::set-output name=RECIPE_CREATED::${?}"
105+
if [ ! -d recipes ] || [ -z "$(ls -A recipes)" ]; then
106+
echo "RECIPE_CREATED=0" >> $GITHUB_OUTPUT
107+
else
108+
echo "RECIPE_CREATED=1" >> $GITHUB_OUTPUT
109+
fi
142110
- name: Build recipes for linux-64
143111
shell: bash -l {0}
144-
if: steps.newrecipecheck.outputs.RECIPE_CREATED == 1 && steps.filecheck.outputs.LINUX_YAML_CHANGED == 1 && matrix.platform == 'linux-64'
112+
if: steps.newrecipecheck.outputs.RECIPE_CREATED == 1 && matrix.platform == 'linux-64'
145113
run: |
146-
env -i $HOME/.pixi/bin/pixi run -e beta rattler-build build --recipe additional_recipes/ros-distro-mutex/ --target-platform linux-64 -m ./conda_build_config.yaml -c robostack-staging -c conda-forge --skip-existing
147-
env -i $HOME/.pixi/bin/pixi run -e beta rattler-build build --recipe additional_recipes/ros-noetic-eigenpy/ --target-platform linux-64 -m ./conda_build_config.yaml -c robostack-staging -c conda-forge --skip-existing
148-
env -i $HOME/.pixi/bin/pixi run -e beta rattler-build build --recipe additional_recipes/ros-noetic-gtsam/ --target-platform linux-64 -m ./conda_build_config.yaml -c robostack-staging -c conda-forge --skip-existing
149-
env -i $HOME/.pixi/bin/pixi run -e beta rattler-build build --recipe additional_recipes/ros-noetic-hpp-fcl/ --target-platform linux-64 -m ./conda_build_config.yaml -c robostack-staging -c conda-forge --skip-existing
150-
env -i $HOME/.pixi/bin/pixi run -e beta rattler-build build --recipe additional_recipes/ros-noetic-pinocchio/ --target-platform linux-64 -m ./conda_build_config.yaml -c robostack-staging -c conda-forge --skip-existing
151-
env -i $HOME/.pixi/bin/pixi run -e beta rattler-build build --recipe-dir recipes --target-platform linux-64 -m ./conda_build_config.yaml -c robostack-staging -c conda-forge --skip-existing
114+
env -i $HOME/.pixi/bin/pixi run rattler-build build --recipe-dir additional_recipes --target-platform linux-64 -m ./conda_build_config.yaml -c robostack-staging -c conda-forge --skip-existing
115+
env -i $HOME/.pixi/bin/pixi run rattler-build build --recipe-dir recipes --target-platform linux-64 -m ./conda_build_config.yaml -c robostack-staging -c conda-forge --skip-existing
152116
- name: Build recipes for linux-aarch64
153117
shell: bash -l {0}
154-
if: steps.newrecipecheck.outputs.RECIPE_CREATED == 1 && steps.filecheck.outputs.LINUX_AARCH_YAML_CHANGED == 1 && matrix.platform == 'linux-aarch64'
118+
if: steps.newrecipecheck.outputs.RECIPE_CREATED == 1 && matrix.platform == 'linux-aarch64'
155119
run: |
156-
env -i $HOME/.pixi/bin/pixi run -e beta rattler-build build --recipe additional_recipes/ros-distro-mutex/ --target-platform linux-aarch64 -m ./conda_build_config.yaml -c robostack-staging -c conda-forge --skip-existing
157-
env -i $HOME/.pixi/bin/pixi run -e beta rattler-build build --recipe additional_recipes/ros-noetic-eigenpy/ --target-platform linux-aarch64 -m ./conda_build_config.yaml -c robostack-staging -c conda-forge --skip-existing
158-
env -i $HOME/.pixi/bin/pixi run -e beta rattler-build build --recipe additional_recipes/ros-noetic-gtsam/ --target-platform linux-aarch64 -m ./conda_build_config.yaml -c robostack-staging -c conda-forge --skip-existing
159-
env -i $HOME/.pixi/bin/pixi run -e beta rattler-build build --recipe additional_recipes/ros-noetic-hpp-fcl/ --target-platform linux-aarch64 -m ./conda_build_config.yaml -c robostack-staging -c conda-forge --skip-existing
160-
env -i $HOME/.pixi/bin/pixi run -e beta rattler-build build --recipe additional_recipes/ros-noetic-pinocchio/ --target-platform linux-aarch64 -m ./conda_build_config.yaml -c robostack-staging -c conda-forge --skip-existing
161-
env -i $HOME/.pixi/bin/pixi run -e beta rattler-build build --recipe-dir recipes --target-platform linux-aarch64 -m ./conda_build_config.yaml -c robostack-staging -c conda-forge --skip-existing
120+
env -i $HOME/.pixi/bin/pixi run rattler-build build --recipe-dir additional_recipes --target-platform linux-aarch64 -m ./conda_build_config.yaml -c robostack-staging -c conda-forge --skip-existing
121+
env -i $HOME/.pixi/bin/pixi run rattler-build build --recipe-dir recipes --target-platform linux-aarch64 -m ./conda_build_config.yaml -c robostack-staging -c conda-forge --skip-existing
162122
- name: Build recipes for osx-64
163123
shell: bash -l {0}
164-
if: steps.newrecipecheck.outputs.RECIPE_CREATED == 1 && steps.filecheck.outputs.OSX_YAML_CHANGED == 1 && matrix.platform == 'osx-64'
124+
if: steps.newrecipecheck.outputs.RECIPE_CREATED == 1 && matrix.platform == 'osx-64'
165125
run: |
166-
env -i $HOME/.pixi/bin/pixi run -e beta rattler-build build --recipe additional_recipes/ros-distro-mutex/ --target-platform osx-64 -m ./conda_build_config.yaml -c robostack-staging -c conda-forge --skip-existing
167-
env -i $HOME/.pixi/bin/pixi run -e beta rattler-build build --recipe additional_recipes/ros-noetic-eigenpy/ --target-platform osx-64 -m ./conda_build_config.yaml -c robostack-staging -c conda-forge --skip-existing
168-
env -i $HOME/.pixi/bin/pixi run -e beta rattler-build build --recipe additional_recipes/ros-noetic-gtsam/ --target-platform osx-64 -m ./conda_build_config.yaml -c robostack-staging -c conda-forge --skip-existing
169-
env -i $HOME/.pixi/bin/pixi run -e beta rattler-build build --recipe additional_recipes/ros-noetic-hpp-fcl/ --target-platform osx-64 -m ./conda_build_config.yaml -c robostack-staging -c conda-forge --skip-existing
170-
env -i $HOME/.pixi/bin/pixi run -e beta rattler-build build --recipe additional_recipes/ros-noetic-pinocchio/ --target-platform osx-64 -m ./conda_build_config.yaml -c robostack-staging -c conda-forge --skip-existing
171-
env -i $HOME/.pixi/bin/pixi run -e beta rattler-build build --recipe-dir recipes --target-platform osx-64 -m ./conda_build_config.yaml -c robostack-staging -c conda-forge --skip-existing
126+
env -i $HOME/.pixi/bin/pixi run rattler-build build --recipe-dir additional_recipes --target-platform osx-64 -m ./conda_build_config.yaml -c robostack-staging -c conda-forge --skip-existing
127+
env -i $HOME/.pixi/bin/pixi run rattler-build build --recipe-dir recipes --target-platform osx-64 -m ./conda_build_config.yaml -c robostack-staging -c conda-forge --skip-existing
172128
- name: Build recipes for osx-arm64
173129
shell: bash -l {0}
174-
if: steps.newrecipecheck.outputs.RECIPE_CREATED == 1 && steps.filecheck.outputs.OSX_ARM_YAML_CHANGED == 1 && matrix.platform == 'osx-arm64'
130+
if: steps.newrecipecheck.outputs.RECIPE_CREATED == 1 && matrix.platform == 'osx-arm64'
175131
run: |
176-
env -i $HOME/.pixi/bin/pixi run -e beta rattler-build build --recipe additional_recipes/ros-distro-mutex/ --target-platform osx-arm64 -m ./conda_build_config.yaml -c robostack-staging -c conda-forge --skip-existing
177-
env -i $HOME/.pixi/bin/pixi run -e beta rattler-build build --recipe additional_recipes/ros-noetic-eigenpy/ --target-platform osx-arm64 -m ./conda_build_config.yaml -c robostack-staging -c conda-forge --skip-existing
178-
env -i $HOME/.pixi/bin/pixi run -e beta rattler-build build --recipe additional_recipes/ros-noetic-gtsam/ --target-platform osx-arm64 -m ./conda_build_config.yaml -c robostack-staging -c conda-forge --skip-existing
179-
env -i $HOME/.pixi/bin/pixi run -e beta rattler-build build --recipe additional_recipes/ros-noetic-hpp-fcl/ --target-platform osx-arm64 -m ./conda_build_config.yaml -c robostack-staging -c conda-forge --skip-existing
180-
env -i $HOME/.pixi/bin/pixi run -e beta rattler-build build --recipe additional_recipes/ros-noetic-pinocchio/ --target-platform osx-arm64 -m ./conda_build_config.yaml -c robostack-staging -c conda-forge --skip-existing
181-
env -i $HOME/.pixi/bin/pixi run -e beta rattler-build build --recipe-dir recipes --target-platform osx-arm64 -m ./conda_build_config.yaml -c robostack-staging -c conda-forge --skip-existing
132+
env -i $HOME/.pixi/bin/pixi run rattler-build build --recipe-dir additional_recipes --target-platform osx-arm64 -m ./conda_build_config.yaml -c robostack-staging -c conda-forge --skip-existing
133+
env -i $HOME/.pixi/bin/pixi run rattler-build build --recipe-dir recipes --target-platform osx-arm64 -m ./conda_build_config.yaml -c robostack-staging -c conda-forge --skip-existing
182134
- name: Build recipes for win-64
183135
shell: bash -l {0}
184-
if: steps.newrecipecheck.outputs.RECIPE_CREATED == 1 && steps.filecheck.outputs.WIN_YAML_CHANGED == 1 && matrix.platform == 'win-64'
136+
if: steps.newrecipecheck.outputs.RECIPE_CREATED == 1 && matrix.platform == 'win-64'
185137
run: |
186-
$HOME/.pixi/bin/pixi run -e beta rattler-build build --recipe additional_recipes/ros-distro-mutex/ --target-platform win-64 -m ./conda_build_config.yaml -c robostack-staging -c conda-forge --skip-existing
187-
$HOME/.pixi/bin/pixi run -e beta rattler-build build --recipe additional_recipes/ros-noetic-eigenpy/ --target-platform win-64 -m ./conda_build_config.yaml -c robostack-staging -c conda-forge --skip-existing
188-
$HOME/.pixi/bin/pixi run -e beta rattler-build build --recipe additional_recipes/ros-noetic-gtsam/ --target-platform win-64 -m ./conda_build_config.yaml -c robostack-staging -c conda-forge --skip-existing
189-
$HOME/.pixi/bin/pixi run -e beta rattler-build build --recipe additional_recipes/ros-noetic-hpp-fcl/ --target-platform win-64 -m ./conda_build_config.yaml -c robostack-staging -c conda-forge --skip-existing
190-
$HOME/.pixi/bin/pixi run -e beta rattler-build build --recipe additional_recipes/ros-noetic-pinocchio/ --target-platform win-64 -m ./conda_build_config.yaml -c robostack-staging -c conda-forge --skip-existing
191-
$HOME/.pixi/bin/pixi run -e beta rattler-build build --recipe-dir recipes --target-platform win-64 -m ./conda_build_config.yaml -c robostack-staging -c conda-forge --skip-existing
138+
$HOME/.pixi/bin/pixi run rattler-build build --recipe-dir additional_recipes --target-platform win-64 -m ./conda_build_config.yaml -c robostack-staging -c conda-forge --skip-existing
139+
$HOME/.pixi/bin/pixi run rattler-build build --recipe-dir recipes -m ./conda_build_config.yaml --target-platform win-64 -c robostack-staging -c conda-forge --skip-existing

0 commit comments

Comments
 (0)