47
47
conan_system_libs : bzip2 libiconv sqlite3 zlib
48
48
- platform : android-armeabi-v7a
49
49
os : ubuntu-latest
50
- before_install : android.sh
50
+ before_install : android-32 .sh
51
51
conan_profile : android-32-ndk
52
52
conan_system_libs : zlib
53
53
- platform : android-arm64-v8a
@@ -67,42 +67,33 @@ jobs:
67
67
run :
68
68
shell : bash
69
69
steps :
70
- - name : Checkout VCMI
70
+ - name : Checkout current
71
71
uses : actions/checkout@v4
72
- # TODO
73
- with :
74
- repository : ' kambala-decapitator/vcmi'
75
- ref : ' conan-v2'
72
+
73
+ - name : Prepare CI
74
+ run : |
75
+ echo CUSTOM_PATCHES_PATH="$(pwd)/conan_patches" >> $GITHUB_ENV
76
+ echo DEPS_FILE="dependencies-${{ matrix.platform }}.tgz" >> $GITHUB_ENV
77
+ [ '${{ matrix.before_install }}' ] && 'ci/${{ matrix.before_install }}'
76
78
77
79
- uses : actions/setup-java@v4
78
80
if : ${{ startsWith(matrix.platform, 'android') }}
79
81
with :
80
82
distribution : ' temurin'
81
83
java-version : ' 17'
82
84
83
- - name : Prepare CI
84
- if : ${{ matrix.before_install }}
85
- run : source '${{github.workspace}}/CI/before_install/${{matrix.before_install}}'
86
-
87
85
- name : Setup Conan Client
88
86
run : |
89
87
pipx install conan
90
88
conan profile detect
91
89
92
90
# CMake/Ninja version should be synced with runners
93
91
# https://github.com/actions/runner-images/tree/main/images
94
- # using CMake from Android SDK because some runners already have CMake v4
95
92
- name : Prepare platform tools
96
93
run : |
97
- cmakeVersion=3.31.6
98
-
99
- # newPathFile=$(mktemp)
100
- # echo "$ANDROID_HOME/cmake/$cmakeVersion/bin" | cat - "$GITHUB_PATH" > "$newPathFile"
101
- # mv -f "$newPathFile" "$GITHUB_PATH"
102
-
103
94
echo "
104
95
[platform_tool_requires]
105
- cmake/$cmakeVersion
96
+ cmake/3.31.6
106
97
ninja/1.12.1
107
98
108
99
[conf]
@@ -121,17 +112,11 @@ jobs:
121
112
conan create "$p" --user system
122
113
done
123
114
124
- - name : Checkout current
125
- uses : actions/checkout@v4
126
- with :
127
- path : deps
128
-
129
115
- name : Build recipes with our patches
130
116
run : |
131
117
cciRepo='conan-center-index'
132
118
branchName='master'
133
119
recipePathQt='recipes/qt'
134
- custom_patches_path="$(pwd)/deps/conan_patches"
135
120
136
121
git clone "https://github.com/conan-io/$cciRepo.git" \
137
122
--branch "$branchName" \
@@ -163,10 +148,10 @@ jobs:
163
148
164
149
conan create $packagePath \
165
150
--version=$version \
166
- --profile=../CI/conan /${{ matrix.conan_profile }} \
151
+ --profile=../conan_profiles /${{ matrix.conan_profile }} \
167
152
--build=missing \
168
153
--test-folder= \
169
- --core-conf core.sources.patch:extra_path=$custom_patches_path
154
+ --core-conf core.sources.patch:extra_path=$CUSTOM_PATCHES_PATH
170
155
done
171
156
172
157
# TODO: remove LuaJIT when https://github.com/conan-io/conan-center-index/pull/26577 is merged
@@ -175,7 +160,6 @@ jobs:
175
160
cciForkRepo='cci-fork'
176
161
branchName='vcmi'
177
162
recipePathQt='recipes/qt'
178
- custom_patches_path="$(pwd)/deps/conan_patches"
179
163
180
164
git clone "https://github.com/kambala-decapitator/conan-center-index.git" "$cciForkRepo" \
181
165
--branch "$branchName" \
@@ -206,10 +190,10 @@ jobs:
206
190
# Windows workaround for https://bugreports.qt.io/browse/QTBUG-84543
207
191
PATH="/c/Strawberry/perl/bin:$PATH" conan create $packagePath \
208
192
--version=$version \
209
- --profile=../CI/conan /${{ matrix.conan_profile }} \
193
+ --profile=../conan_profiles /${{ matrix.conan_profile }} \
210
194
--build=missing \
211
195
--test-folder= \
212
- --core-conf core.sources.patch:extra_path=$custom_patches_path \
196
+ --core-conf core.sources.patch:extra_path=$CUSTOM_PATCHES_PATH \
213
197
${{ startsWith(matrix.platform, 'android') && '-o "qt/*:android_sdk=$ANDROID_HOME"' || '' }}
214
198
done
215
199
@@ -218,8 +202,8 @@ jobs:
218
202
conan install . \
219
203
--output-folder=conan-generated \
220
204
--build=missing \
221
- --profile=CI/conan /${{ matrix.conan_profile }} \
222
- ${{ matrix.conan_options }} || true
205
+ --profile=conan_profiles /${{ matrix.conan_profile }} \
206
+ ${{ matrix.conan_options }}
223
207
224
208
- name : Remove builds and source code
225
209
run : conan cache clean
@@ -242,7 +226,7 @@ jobs:
242
226
packageListFile='pkglist.json'
243
227
244
228
conan graph info . \
245
- --profile=CI/conan /${{ matrix.conan_profile }} \
229
+ --profile=conan_profiles /${{ matrix.conan_profile }} \
246
230
--format=json \
247
231
--build=never \
248
232
--no-remote \
@@ -262,20 +246,20 @@ jobs:
262
246
EOF" >> $GITHUB_ENV
263
247
264
248
- name : Create dependencies archive
265
- run : conan cache save --file dependencies-${{matrix.platform}}.tgz "*:*"
249
+ run : conan cache save --file "$DEPS_FILE" "*:*"
266
250
267
251
- name : Upload artifact
268
252
uses : actions/upload-artifact@v4
269
253
with :
270
254
name : dependencies-${{ matrix.platform }}
271
255
compression-level : 0
272
- path : ' dependencies- ${{matrix.platform}}.tgz '
256
+ path : ${{ env.DEPS_FILE }}
273
257
274
258
- name : Update release with artifact and text
275
259
uses : softprops/action-gh-release@v2
276
260
with :
277
261
tag_name : ${{ needs.prepare.outputs.RELEASE_TAG }}
278
- files : ' dependencies- ${{matrix.platform}}.tgz '
262
+ files : ${{ env.DEPS_FILE }}
279
263
append_body : true
280
264
body : |
281
265
<details><summary><b>${{ matrix.platform }}</b> packages</summary>
0 commit comments