14
14
matrix :
15
15
os : [ubuntu-latest, macos-latest, macos-14, windows-2019]
16
16
platform : [linux-64, linux-aarch64, osx-64, win-64, osx-arm64]
17
+ environment : [beta]
17
18
exclude :
18
19
- os : ubuntu-latest
19
20
platform : win-64
@@ -46,25 +47,25 @@ jobs:
46
47
- os : windows-2019
47
48
platform : osx-arm64
48
49
steps :
50
+ - uses : actions/checkout@v4
51
+ with :
52
+ persist-credentials : false # otherwise, the token used is the GITHUB_TOKEN, instead of your personal token
53
+ fetch-depth : 0 # otherwise, you will failed to push refs to dest repo
54
+
55
+ -
uses :
prefix-dev/[email protected]
56
+ with :
57
+ environments : ${{ matrix.environment }}
58
+ frozen : true
59
+
49
60
# Workaround for https://github.com/RoboStack/ros-humble/pull/141#issuecomment-1941919816
50
61
- name : Clean up PATH
51
62
if : contains(matrix.os, 'windows')
52
63
uses : egor-tensin/cleanup-path@v4
53
64
with :
54
65
# cygpath in C:\Program Files\Git\usr\bin is used by install micromamba
55
- # git in C:\Program Files\Git\bin is used by pip install git+
66
+ # git in C:\Program Files\Git\bin is used by pip install git+
56
67
dirs : ' C:\Program Files\Git\usr\bin;C:\Program Files\Git\bin;C:\Program Files\Git\cmd;C:\Program Files\Git\mingw64\bin'
57
68
58
- - uses : actions/checkout@master
59
- - name : install micromamba
60
- uses : mamba-org/setup-micromamba@main
61
- with :
62
- environment-file : .github/testpr_environment.yml
63
- condarc : |
64
- channels:
65
- - robostack-staging
66
- - conda-forge
67
-
68
69
- shell : bash -l {0}
69
70
if : matrix.platform == 'linux-aarch64'
70
71
run : |
@@ -81,24 +82,15 @@ jobs:
81
82
sudo apt-get update
82
83
sudo apt-get install -y libgl1-mesa-dev libglu1-mesa-dev libx11-dev libxi-dev libxmu-dev
83
84
84
- - shell : bash -l {0}
85
- run : |
86
- conda config --show channels | grep defaults && conda config --remove channels defaults
87
- conda info
88
- conda config --show
89
- 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
90
- - name : install vinca
91
- shell : bash -l {0}
92
- run : |
93
- # use no-deps for now, otherwise problems with ruamel.
94
- pip install git+https://github.com/RoboStack/vinca.git --no-deps
95
85
# For some reason, the Strawberry perl's pkg-config is found
96
86
# instead of the conda's one, so let's delete the /c/Strawberry directory
87
+ # Furthermore, we also need to remove an older SDK that is used and can result in compilation problems
97
88
- name : Debug pkg-config problem
98
89
if : contains(matrix.os, 'windows')
99
90
shell : bash -l {0}
100
91
run : |
101
92
rm -rf /c/Strawberry
93
+ rm -rf "/c/Program Files (x86)/Windows Kits/10/Include/10.0.17763.0/"
102
94
103
95
- name : Check what files have changed
104
96
id : filecheck
@@ -121,82 +113,80 @@ jobs:
121
113
shell : bash -l {0}
122
114
if : steps.filecheck.outputs.LINUX_YAML_CHANGED == 1 && matrix.os == 'ubuntu-latest' && matrix.platform == 'linux-64'
123
115
run : |
124
- git clean -fdx
125
116
cp vinca_linux_64.yaml vinca.yaml
126
- vinca --platform linux-64
127
- ls
128
- cat recipe.yaml
117
+ mkdir -p recipes
118
+ $HOME/.pixi/bin/pixi run -e beta -v vinca --platform linux-64 -m -n
119
+ ls -la recipes
129
120
- name : Generate recipes for linux-aarch64
130
121
shell : bash -l {0}
131
122
if : steps.filecheck.outputs.LINUX_AARCH_YAML_CHANGED == 1 && matrix.os == 'ubuntu-latest' && matrix.platform == 'linux-aarch64'
132
123
run : |
133
- git clean -fdx
134
124
cp vinca_linux_aarch64.yaml vinca.yaml
135
- vinca --platform linux-aarch64
136
- ls
137
- cat recipe.yaml
125
+ mkdir -p recipes
126
+ $HOME/.pixi/bin/pixi run -e beta -v vinca --platform linux-aarch64 -m -n
127
+ ls -la recipes
138
128
- name : Generate recipes for osx-64
139
129
shell : bash -l {0}
140
130
if : steps.filecheck.outputs.OSX_YAML_CHANGED == 1 && matrix.os == 'macos-latest' && matrix.platform == 'osx-64'
141
131
run : |
142
- git clean -fdx
143
132
cp vinca_osx.yaml vinca.yaml
144
- vinca --platform osx-64
145
- ls
146
- cat recipe.yaml
133
+ mkdir -p recipes
134
+ $HOME/.pixi/bin/pixi run -e beta -v vinca --platform osx-64 -m -n
135
+ ls -la recipes
147
136
- name : Generate recipes for osx-arm64
148
137
shell : bash -l {0}
149
138
if : steps.filecheck.outputs.OSX_ARM_YAML_CHANGED == 1 && matrix.os == 'macos-14' && matrix.platform == 'osx-arm64'
150
139
run : |
151
- git clean -fdx
152
140
cp vinca_osx_arm64.yaml vinca.yaml
153
- vinca --platform osx-arm64
154
- ls
155
- cat recipe.yaml
141
+ mkdir -p recipes
142
+ $HOME/.pixi/bin/pixi run -e beta -v vinca --platform osx-arm64 -m -n
143
+ ls -la recipes
156
144
- name : Generate recipes for win-64
157
145
shell : bash -l {0}
158
146
if : steps.filecheck.outputs.WIN_YAML_CHANGED == 1 && matrix.os == 'windows-2019' && matrix.platform == 'win-64'
159
147
run : |
160
- git clean -fdx
148
+ # Workaround for problem related to long paths
149
+ echo "CONDA_BLD_PATH=C:\\bld\\" >> $GITHUB_ENV
150
+ mkdir /c/bld
161
151
cp vinca_win.yaml vinca.yaml
162
- vinca --platform win-64
163
- ls
164
- cat recipe.yaml
152
+ mkdir -p recipes
153
+ $HOME/.pixi/bin/pixi run -e beta -v vinca --platform win-64 -m -n
154
+ ls -la recipes
165
155
- name : Check if there are packages to be built
166
156
id : newrecipecheck
167
157
shell : bash -l {0}
168
158
run : |
169
159
# continue on error
170
160
set +e
171
- grep -q "outputs: \[\]" recipe.yaml > /dev/null
161
+ test ! -d recipes
172
162
echo "::set-output name=RECIPE_CREATED::${?}"
173
163
- name : Build recipes for linux-64
174
164
shell : bash -l {0}
175
- run : |
176
- boa build additional_recipes/ros2-distro-mutex/ -m ./.ci_support/conda_forge_pinnings.yaml -m ./conda_build_config.yaml
177
- boa build . -m ./.ci_support/conda_forge_pinnings.yaml -m ./conda_build_config.yaml
178
165
if : steps.newrecipecheck.outputs.RECIPE_CREATED == 1 && steps.filecheck.outputs.LINUX_YAML_CHANGED == 1 && matrix.os == 'ubuntu-latest' && matrix.platform == 'linux-64'
166
+ run : |
167
+ env -i $HOME/.pixi/bin/pixi run -e beta rattler-build build --recipe-dir additional_recipes -m ./conda_build_config.yaml -c robostack-jazzy -c conda-forge --skip-existing
168
+ env -i $HOME/.pixi/bin/pixi run -e beta rattler-build build --recipe-dir recipes -m ./conda_build_config.yaml -c robostack-jazzy -c conda-forge --skip-existing
179
169
- name : Build recipes for linux-aarch64
180
170
shell : bash -l {0}
181
171
if : steps.newrecipecheck.outputs.RECIPE_CREATED == 1 && steps.filecheck.outputs.LINUX_AARCH_YAML_CHANGED == 1 && matrix.os == 'ubuntu-latest' && matrix.platform == 'linux-aarch64'
182
172
run : |
183
- boa build additional_recipes/ros2-distro-mutex/ -m ./.ci_support/conda_forge_pinnings.yaml -m ./conda_build_config.yaml --target-platform=linux-aarch64
184
- boa build . -m ./.ci_support/conda_forge_pinnings.yaml - m ./conda_build_config.yaml --target-platform=linux-aarch64
173
+ env -i $HOME/.pixi/bin/pixi run -e beta rattler-build build --recipe-dir additional_recipes -m ./conda_build_config.yaml -c robostack-jazzy -c conda-forge --skip-existing
174
+ env -i $HOME/.pixi/bin/pixi run -e beta rattler-build build --recipe-dir recipes - m ./conda_build_config.yaml -c robostack-jazzy -c conda-forge --skip-existing
185
175
- name : Build recipes for osx-64
186
176
shell : bash -l {0}
187
177
if : steps.newrecipecheck.outputs.RECIPE_CREATED == 1 && steps.filecheck.outputs.OSX_YAML_CHANGED == 1 && matrix.os == 'macos-latest' && matrix.platform == 'osx-64'
188
178
run : |
189
- boa build additional_recipes/ros2-distro-mutex/ -m ./.ci_support/conda_forge_pinnings.yaml -m ./conda_build_config.yaml
190
- boa build . -m ./.ci_support/conda_forge_pinnings.yaml - m ./conda_build_config.yaml
179
+ env -i $HOME/.pixi/bin/pixi run -e beta rattler-build build --recipe-dir additional_recipes -m ./conda_build_config.yaml -c robostack-jazzy -c conda-forge --skip-existing
180
+ env -i $HOME/.pixi/bin/pixi run -e beta rattler-build build --recipe-dir recipes - m ./conda_build_config.yaml -c robostack-jazzy -c conda-forge --skip-existing
191
181
- name : Build recipes for osx-arm64
192
182
shell : bash -l {0}
193
183
if : steps.newrecipecheck.outputs.RECIPE_CREATED == 1 && steps.filecheck.outputs.OSX_ARM_YAML_CHANGED == 1 && matrix.os == 'macos-14' && matrix.platform == 'osx-arm64'
194
184
run : |
195
- boa build additional_recipes/ros2-distro-mutex/ -m ./.ci_support/conda_forge_pinnings.yaml -m ./conda_build_config.yaml --target-platform=osx-arm64
196
- boa build . -m ./.ci_support/conda_forge_pinnings.yaml - m ./conda_build_config.yaml
185
+ env -i $HOME/.pixi/bin/pixi run -e beta rattler-build build --recipe-dir additional_recipes -m ./conda_build_config.yaml -c robostack-jazzy -c conda-forge --skip-existing
186
+ env -i $HOME/.pixi/bin/pixi run -e beta rattler-build build --recipe-dir recipes - m ./conda_build_config.yaml -c robostack-jazzy -c conda-forge --skip-existing
197
187
- name : Build recipes for win-64
198
188
shell : bash -l {0}
199
189
if : steps.newrecipecheck.outputs.RECIPE_CREATED == 1 && steps.filecheck.outputs.WIN_YAML_CHANGED == 1 && matrix.os == 'windows-2019' && matrix.platform == 'win-64'
200
190
run : |
201
- boa build additional_recipes/ros2-distro-mutex/ -m ./.ci_support/conda_forge_pinnings.yaml -m ./conda_build_config.yaml
202
- boa build . -m ./.ci_support/conda_forge_pinnings.yaml -m ./conda_build_config.yaml
191
+ $HOME/.pixi/bin/pixi run -e beta rattler-build build --recipe-dir additional_recipes -m ./conda_build_config.yaml -c robostack-jazzy -c conda-forge --skip-existing
192
+ $HOME/.pixi/bin/pixi run -e beta rattler- build build --recipe-dir recipes -m ./conda_build_config.yaml -c robostack-jazzy -c conda-forge --skip-existing
0 commit comments