11on :
22 pull_request :
3- paths :
4- - ' *.yaml'
3+ workflow_dispatch :
54
65env :
76 ROS_VERSION : 1
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 :
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
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