8
8
9
9
jobs :
10
10
build :
11
- runs-on : ${{ matrix.os }}
12
11
strategy :
13
12
fail-fast : false
14
13
matrix :
15
- os : [ubuntu-latest, macos-latest, macos-14, windows-2019]
16
- platform : [linux-64, linux-aarch64, osx-64, win-64, osx-arm64]
17
- exclude :
18
- - os : ubuntu-latest
19
- platform : win-64
20
- - os : ubuntu-latest
21
- platform : osx-64
14
+ include :
22
15
- os : ubuntu-latest
23
- platform : osx-arm64
24
- - os : macos-14
25
16
platform : linux-64
26
- - os : macos-14
17
+ - os : cirun-linux-aarch64--${{ github.run_id }}
27
18
platform : linux-aarch64
28
- - os : macos-14
19
+ - os : macos-13
29
20
platform : osx-64
30
21
- os : macos-14
31
- platform : win-64
32
- - os : macos-latest
33
- platform : linux-64
34
- - os : macos-latest
35
- platform : linux-aarch64
36
- - os : macos-latest
37
22
platform : osx-arm64
38
- - os : macos-latest
39
- platform : win-64
40
23
- os : windows-2019
41
- platform : linux-64
42
- - os : windows-2019
43
- platform : linux-aarch64
44
- - os : windows-2019
45
- platform : osx-64
46
- - os : windows-2019
47
- platform : osx-arm64
24
+ platform : win-64
25
+
26
+ runs-on : ${{ matrix.os }}
27
+
48
28
steps :
29
+ - uses : actions/checkout@v4
30
+ with :
31
+ persist-credentials : false # otherwise, the token used is the GITHUB_TOKEN, instead of your personal token
32
+ fetch-depth : 0 # otherwise, you will failed to push refs to dest repo
33
+
34
+ -
uses :
prefix-dev/[email protected]
35
+ with :
36
+ environments : beta
37
+ frozen : true
38
+
49
39
# Workaround for https://github.com/RoboStack/ros-humble/pull/141#issuecomment-1941919816
50
40
- name : Clean up PATH
51
41
if : contains(matrix.os, 'windows')
52
42
uses : egor-tensin/cleanup-path@v4
53
43
with :
54
44
# 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+
45
+ # git in C:\Program Files\Git\bin is used by pip install git+
56
46
dirs : ' C:\Program Files\Git\usr\bin;C:\Program Files\Git\bin;C:\Program Files\Git\cmd;C:\Program Files\Git\mingw64\bin'
57
47
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
- - shell : bash -l {0}
69
- if : matrix.platform == 'linux-aarch64'
70
- run : |
71
- echo "::group::Configure binfmt_misc"
72
- docker run --rm --privileged multiarch/qemu-user-static:register --reset --credential yes
73
- export FEEDSTOCK_NAME="$(basename $GITHUB_REPOSITORY)"
74
- export GIT_BRANCH="$(basename $GITHUB_REF)"
75
- echo "::endgroup::"
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::"
76
56
77
57
- name : Install libgl1-mesa-dev (only for linux-aarch64)
78
58
if : matrix.platform == 'linux-aarch64'
@@ -81,24 +61,15 @@ jobs:
81
61
sudo apt-get update
82
62
sudo apt-get install -y libgl1-mesa-dev libglu1-mesa-dev libx11-dev libxi-dev libxmu-dev
83
63
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
64
# For some reason, the Strawberry perl's pkg-config is found
96
65
# instead of the conda's one, so let's delete the /c/Strawberry directory
66
+ # Furthermore, we also need to remove an older SDK that is used and can result in compilation problems
97
67
- name : Debug pkg-config problem
98
68
if : contains(matrix.os, 'windows')
99
69
shell : bash -l {0}
100
70
run : |
101
71
rm -rf /c/Strawberry
72
+ rm -rf "/c/Program Files (x86)/Windows Kits/10/Include/10.0.17763.0/"
102
73
103
74
- name : Check what files have changed
104
75
id : filecheck
@@ -119,85 +90,82 @@ jobs:
119
90
echo "::set-output name=WIN_YAML_CHANGED::${?}"
120
91
- name : Generate recipes for linux-64
121
92
shell : bash -l {0}
122
- if : steps.filecheck.outputs.LINUX_YAML_CHANGED == 1 && matrix.os == 'ubuntu-latest' && matrix. platform == 'linux-64'
93
+ if : steps.filecheck.outputs.LINUX_YAML_CHANGED == 1 && matrix.platform == 'linux-64'
123
94
run : |
124
- git clean -fdx
125
95
cp vinca_linux_64.yaml vinca.yaml
126
- vinca --platform linux-64
127
- ls
128
- cat recipe.yaml
96
+ mkdir -p recipes
97
+ $HOME/.pixi/bin/pixi run -e beta -v vinca --platform linux-64 -m -n
98
+ ls -la recipes
129
99
- name : Generate recipes for linux-aarch64
130
100
shell : bash -l {0}
131
- if : steps.filecheck.outputs.LINUX_AARCH_YAML_CHANGED == 1 && matrix.os == 'ubuntu-latest' && matrix. platform == 'linux-aarch64'
101
+ if : steps.filecheck.outputs.LINUX_AARCH_YAML_CHANGED == 1 && matrix.platform == 'linux-aarch64'
132
102
run : |
133
- git clean -fdx
134
103
cp vinca_linux_aarch64.yaml vinca.yaml
135
- vinca --platform linux-aarch64
136
- ls
137
- cat recipe.yaml
104
+ mkdir -p recipes
105
+ $HOME/.pixi/bin/pixi run -e beta -v vinca --platform linux-aarch64 -m -n
106
+ ls -la recipes
138
107
- name : Generate recipes for osx-64
139
108
shell : bash -l {0}
140
- if : steps.filecheck.outputs.OSX_YAML_CHANGED == 1 && matrix.os == 'macos-latest' && matrix. platform == 'osx-64'
109
+ if : steps.filecheck.outputs.OSX_YAML_CHANGED == 1 && matrix.platform == 'osx-64'
141
110
run : |
142
- git clean -fdx
143
111
cp vinca_osx.yaml vinca.yaml
144
- vinca --platform osx-64
145
- ls
146
- cat recipe.yaml
112
+ mkdir -p recipes
113
+ $HOME/.pixi/bin/pixi run -e beta -v vinca --platform osx-64 -m -n
114
+ ls -la recipes
147
115
- name : Generate recipes for osx-arm64
148
116
shell : bash -l {0}
149
- if : steps.filecheck.outputs.OSX_ARM_YAML_CHANGED == 1 && matrix.os == 'macos-14' && matrix. platform == 'osx-arm64'
117
+ if : steps.filecheck.outputs.OSX_ARM_YAML_CHANGED == 1 && matrix.platform == 'osx-arm64'
150
118
run : |
151
- git clean -fdx
152
119
cp vinca_osx_arm64.yaml vinca.yaml
153
- vinca --platform osx-arm64
154
- ls
155
- cat recipe.yaml
120
+ mkdir -p recipes
121
+ $HOME/.pixi/bin/pixi run -e beta -v vinca --platform osx-arm64 -m -n
122
+ ls -la recipes
156
123
- name : Generate recipes for win-64
157
124
shell : bash -l {0}
158
- if : steps.filecheck.outputs.WIN_YAML_CHANGED == 1 && matrix.os == 'windows-2019' && matrix. platform == 'win-64'
125
+ if : steps.filecheck.outputs.WIN_YAML_CHANGED == 1 && matrix.platform == 'win-64'
159
126
run : |
127
+ # Workaround for problem related to long paths
160
128
echo "CONDA_BLD_PATH=C:\\bld\\" >> $GITHUB_ENV
161
- git clean -fdx
129
+ mkdir /c/bld
162
130
cp vinca_win.yaml vinca.yaml
163
- vinca --platform win-64
164
- ls
165
- cat recipe.yaml
131
+ mkdir -p recipes
132
+ $HOME/.pixi/bin/pixi run -e beta -v vinca --platform win-64 -m -n
133
+ ls -la recipes
166
134
- name : Check if there are packages to be built
167
135
id : newrecipecheck
168
136
shell : bash -l {0}
169
137
run : |
170
138
# continue on error
171
139
set +e
172
- grep -q "outputs: \[\]" recipe.yaml > /dev/null
140
+ test ! -d recipes
173
141
echo "::set-output name=RECIPE_CREATED::${?}"
174
142
- name : Build recipes for linux-64
175
143
shell : bash -l {0}
144
+ if : steps.newrecipecheck.outputs.RECIPE_CREATED == 1 && steps.filecheck.outputs.LINUX_YAML_CHANGED == 1 && matrix.platform == 'linux-64'
176
145
run : |
177
- boa build additional_recipes/ros2-distro-mutex/ -m ./.ci_support/conda_forge_pinnings.yaml -m ./conda_build_config.yaml
178
- boa build . -m ./.ci_support/conda_forge_pinnings.yaml -m ./conda_build_config.yaml
179
- if : steps.newrecipecheck.outputs.RECIPE_CREATED == 1 && steps.filecheck.outputs.LINUX_YAML_CHANGED == 1 && matrix.os == 'ubuntu-latest' && matrix.platform == 'linux-64'
146
+ env -i $HOME/.pixi/bin/pixi run -e beta rattler-build build --recipe additional_recipes/ros2-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-dir recipes --target-platform linux-64 -m ./conda_build_config.yaml -c robostack-staging -c conda-forge --skip-existing
180
148
- name : Build recipes for linux-aarch64
181
149
shell : bash -l {0}
182
- if : steps.newrecipecheck.outputs.RECIPE_CREATED == 1 && steps.filecheck.outputs.LINUX_AARCH_YAML_CHANGED == 1 && matrix.os == 'ubuntu-latest' && matrix. platform == 'linux-aarch64'
150
+ if : steps.newrecipecheck.outputs.RECIPE_CREATED == 1 && steps.filecheck.outputs.LINUX_AARCH_YAML_CHANGED == 1 && matrix.platform == 'linux-aarch64'
183
151
run : |
184
- boa build additional_recipes/ros2-distro-mutex/ -m ./.ci_support/conda_forge_pinnings.yaml -m ./conda_build_config.yaml --target-platform=linux-aarch64
185
- boa build . -m ./.ci_support/conda_forge_pinnings.yaml - m ./conda_build_config.yaml --target-platform=linux-aarch64
152
+ env -i $HOME/.pixi/bin/pixi run -e beta rattler- build build --recipe additional_recipes/ros2-distro-mutex/ --target-platform linux-aarch64 -m ./conda_build_config.yaml -c robostack-staging -c conda-forge --skip-existing
153
+ 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
186
154
- name : Build recipes for osx-64
187
155
shell : bash -l {0}
188
- if : steps.newrecipecheck.outputs.RECIPE_CREATED == 1 && steps.filecheck.outputs.OSX_YAML_CHANGED == 1 && matrix.os == 'macos-latest' && matrix. platform == 'osx-64'
156
+ if : steps.newrecipecheck.outputs.RECIPE_CREATED == 1 && steps.filecheck.outputs.OSX_YAML_CHANGED == 1 && matrix.platform == 'osx-64'
189
157
run : |
190
- boa build additional_recipes/ros2-distro-mutex/ -m ./.ci_support/conda_forge_pinnings.yaml -m ./conda_build_config.yaml
191
- boa build . -m ./.ci_support/conda_forge_pinnings.yaml - m ./conda_build_config.yaml
158
+ env -i $HOME/.pixi/bin/pixi run -e beta rattler- build build --recipe additional_recipes/ros2-distro-mutex/ --target-platform osx-64 -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-dir recipes --target-platform osx-64 - m ./conda_build_config.yaml -c robostack-staging -c conda-forge --skip-existing
192
160
- name : Build recipes for osx-arm64
193
161
shell : bash -l {0}
194
- if : steps.newrecipecheck.outputs.RECIPE_CREATED == 1 && steps.filecheck.outputs.OSX_ARM_YAML_CHANGED == 1 && matrix.os == 'macos-14' && matrix. platform == 'osx-arm64'
162
+ if : steps.newrecipecheck.outputs.RECIPE_CREATED == 1 && steps.filecheck.outputs.OSX_ARM_YAML_CHANGED == 1 && matrix.platform == 'osx-arm64'
195
163
run : |
196
- boa build additional_recipes/ros2-distro-mutex/ -m ./.ci_support/conda_forge_pinnings.yaml -m ./conda_build_config.yaml --target-platform=osx-arm64
197
- boa build . -m ./.ci_support/conda_forge_pinnings.yaml - m ./conda_build_config.yaml
164
+ env -i $HOME/.pixi/bin/pixi run -e beta rattler- build build --recipe additional_recipes/ros2-distro-mutex/ --target-platform osx-arm64 -m ./conda_build_config.yaml -c robostack-staging -c conda-forge --skip-existing
165
+ 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
198
166
- name : Build recipes for win-64
199
167
shell : bash -l {0}
200
- if : steps.newrecipecheck.outputs.RECIPE_CREATED == 1 && steps.filecheck.outputs.WIN_YAML_CHANGED == 1 && matrix.os == 'windows-2019' && matrix. platform == 'win-64'
168
+ if : steps.newrecipecheck.outputs.RECIPE_CREATED == 1 && steps.filecheck.outputs.WIN_YAML_CHANGED == 1 && matrix.platform == 'win-64'
201
169
run : |
202
- boa build additional_recipes/ros2-distro-mutex/ -m ./.ci_support/conda_forge_pinnings.yaml -m ./conda_build_config.yaml
203
- boa build . -m ./.ci_support/conda_forge_pinnings.yaml -m ./conda_build_config.yaml
170
+ $HOME/.pixi/bin/pixi run -e beta rattler- build build --recipe additional_recipes/ros2-distro-mutex/ --target-platform win-64 -m ./conda_build_config.yaml -c robostack-staging -c conda-forge --skip-existing
171
+ $HOME/.pixi/bin/pixi run -e beta 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