@@ -18,12 +18,12 @@ jobs:
1818 fail-fast : false
1919 matrix :
2020 include :
21- - { os: ubuntu-24.04, config : ubuntu-24.04-clang-18 }
22- - { os: ubuntu-24.04, config : ubuntu-24.04-gcc-14 }
23- - { os: macos-13, config : macos-13-clang-14 }
24- - { os: macos-14, config : macos-14-armv8-clang-14 }
25- - { os: windows-2022, config : windows-2022-msvc-1940 }
26- - { os: ubuntu-24.04, config : android-35-x86_64, ndk_version: 28.1.13356709 }
21+ - { os: ubuntu-24.04, build_profile: ubuntu-24.04-clang-18, host_profile : ubuntu-24.04-clang-18 }
22+ - { os: ubuntu-24.04, build_profile: ubuntu-24.04-gcc-14, host_profile : ubuntu-24.04-gcc-14 }
23+ - { os: macos-13, build_profile: macos-13-clang-14, host_profile : macos-13-clang-14 }
24+ - { os: macos-14, build_profile: macos-14-armv8-clang-14, host_profile : macos-14-armv8-clang-14 }
25+ - { os: windows-2022, build_profile: windows-2022-msvc-1940, host_profile : windows-2022-msvc-1940 }
26+ - { os: ubuntu-24.04, build_profile: ubuntu-24.04-clang-18, host_profile : android-35-x86_64, ndk_version: 28.1.13356709 }
2727 steps :
2828 - name : checkout
2929 uses : actions/checkout@v4
4747 run : pip install conan
4848
4949 - name : install NDK
50- if : startsWith(matrix.config , 'android')
50+ if : startsWith(matrix.host_profile , 'android')
5151 run : yes | ${ANDROID_HOME}/cmdline-tools/latest/bin/sdkmanager --install 'ndk;${{ matrix.ndk_version }}'
5252
5353 - name : conan remote
@@ -56,19 +56,23 @@ jobs:
5656 conan remote add odr https://artifactory.opendocument.app/artifactory/api/conan/conan
5757 conan remote add conancenter https://center2.conan.io
5858 - name : conan config
59- run : conan config install .github/config/${{ matrix.config }}/ conan
59+ run : conan config install .github/config/conan
6060 - name : conan install
61- run : conan install . --output-folder=build --build=missing
61+ run : >
62+ conan install .
63+ --lockfile conan.lock
64+ --profile:host '${{ matrix.host_profile }}'
65+ --profile:build '${{ matrix.build_profile }}'
6266
6367 - name : cache
6468 uses : actions/cache@v4
6569 with :
6670 path : |
6771 ~/.ccache
6872 /Users/runner/Library/Caches/ccache
69- key : ${{ matrix.config }}-${{ env.CCACHE_KEY_SUFFIX }}
73+ key : ${{ matrix.host_profile }}-${{ env.CCACHE_KEY_SUFFIX }}
7074 restore-keys : |
71- ${{ matrix.config }}-
75+ ${{ matrix.host_profile }}-
7276
7377 - name : cmake
7478 if : runner.os != 'Windows'
@@ -104,7 +108,7 @@ jobs:
104108 - name : upload binaries to github
105109 uses : actions/upload-artifact@v4
106110 with :
107- name : bin-${{ matrix.config }}
111+ name : bin-${{ matrix.host_profile }}
108112 path : |
109113 install
110114 build/test/odr_test
@@ -114,7 +118,7 @@ jobs:
114118 - name : Artifact .conan2/p dir
115119 uses : actions/upload-artifact@v4
116120 with :
117- name : conan2-${{ matrix.config }}
121+ name : conan2-${{ matrix.host_profile }}
118122 path : ~/.conan2/p
119123 if-no-files-found : error
120124 compression-level : 0
@@ -161,7 +165,7 @@ jobs:
161165 - name : download binaries
162166 uses : actions/download-artifact@v4
163167 with :
164- name : bin-${{ matrix.config }}
168+ name : bin-${{ matrix.host_profile }}
165169 path : cli
166170
167171 - name : Build and push
@@ -184,14 +188,14 @@ jobs:
184188 matrix :
185189 include :
186190 # fails at the moment because of pdf2htmlex
187- # - { os: ubuntu-24.04, config : ubuntu-24.04-clang-18 }
188- # - { os: ubuntu-24.04, config : ubuntu-24.04-gcc-14 }
189- # - { os: macos-13, config : macos-13-clang-14 }
190- - { os: macos-14, config : macos-14-armv8-clang-14 }
191+ # - { os: ubuntu-24.04, host_profile : ubuntu-24.04-clang-18 }
192+ # - { os: ubuntu-24.04, host_profile : ubuntu-24.04-gcc-14 }
193+ # - { os: macos-13, host_profile : macos-13-clang-14 }
194+ - { os: macos-14, host_profile : macos-14-armv8-clang-14 }
191195 # Windows test disabled because:
192196 # Running main() from C:\Users\runneradmin\.conan2\p\b\gtestdd9407d368b89\b\src\googletest\src\gtest_main.cc
193197 # [ FATAL ] C:/Users/runneradmin/.conan2/p/gtest28fa6787e7f6e/p/include\gtest/internal/gtest-param-util.h(585):: Condition IsValidParamName(param_name) failed. Parameterized test name 'odr_private\docx\03_smpldap_docx' is invalid, in D:\a\OpenDocument.core\OpenDocument.core\test\src\html_output_test.cpp line 129
194- # - { os: windows-2022, config : windows-2022-msvc-1940 }
198+ # - { os: windows-2022, host_profile : windows-2022-msvc-1940 }
195199 steps :
196200 - name : checkout
197201 uses : actions/checkout@v4
@@ -216,13 +220,13 @@ jobs:
216220 - name : download binaries
217221 uses : actions/download-artifact@v4
218222 with :
219- name : bin-${{ matrix.config }}
223+ name : bin-${{ matrix.host_profile }}
220224 path : .
221225
222226 - name : Download .conan2/p dir
223227 uses : actions/download-artifact@v4
224228 with :
225- name : conan2-${{ matrix.config }}
229+ name : conan2-${{ matrix.host_profile }}
226230 path : ~/.conan2/p
227231
228232 - name : fix artifact permissions
@@ -269,12 +273,12 @@ jobs:
269273 fail-fast : false
270274 matrix :
271275 include :
272- - { os: ubuntu-24.04, config : ubuntu-24.04-clang-18 }
273- - { os: ubuntu-24.04, config : ubuntu-24.04-gcc-14 }
274- - { os: macos-13, config : macos-13-clang-14 }
275- - { os: macos-14, config : macos-14-armv8-clang-14 }
276- - { os: windows-2022, config : windows-2022-msvc-1940 }
277- - { os: ubuntu-24.04, config : android-35-x86_64, ndk_version: 28.1.13356709 }
276+ - { os: ubuntu-24.04, build_profile: ubuntu-24.04-clang-18, host_profile : ubuntu-24.04-clang-18 }
277+ - { os: ubuntu-24.04, build_profile: ubuntu-24.04-gcc-14, host_profile : ubuntu-24.04-gcc-14 }
278+ - { os: macos-13, build_profile: macos-13-clang-14, host_profile : macos-13-clang-14 }
279+ - { os: macos-14, build_profile: macos-14-armv8-clang-14, host_profile : macos-14-armv8-clang-14 }
280+ - { os: windows-2022, build_profile: windows-2022-msvc-1940, host_profile : windows-2022-msvc-1940 }
281+ - { os: ubuntu-24.04, build_profile: ubuntu-24.04-clang-18, host_profile : android-35-x86_64, ndk_version: 28.1.13356709 }
278282 steps :
279283 - name : checkout
280284 uses : actions/checkout@v4
@@ -298,22 +302,34 @@ jobs:
298302 run : pip install conan
299303
300304 - name : install NDK
301- if : startsWith(matrix.config , 'android')
305+ if : startsWith(matrix.host_profile , 'android')
302306 run : yes | ${ANDROID_HOME}/cmdline-tools/latest/bin/sdkmanager --install 'ndk;${{ matrix.ndk_version }}'
303307
304308 - name : conan remote
305309 run : conan remote add odr https://artifactory.opendocument.app/artifactory/api/conan/conan
306310 - name : conan config
307- run : conan config install .github/config/${{ matrix.config }}/ conan
311+ run : conan config install .github/config/conan
308312
309313 - name : conan odrcore
310314 run : conan export . --name odrcore --version 0.0.0
311315
312316 - name : conan install
313- run : conan install . --output-folder=build --build=missing
317+ run : >
318+ conan install .
319+ --lockfile conan.lock
320+ --profile:host '${{ matrix.host_profile }}'
321+ --profile:build '${{ matrix.build_profile }}'
322+ --output-folder=build
323+ --build=missing
314324
315325 - name : conan downstream
316- run : conan install test/downstream --output-folder=test/downstream/build --build=missing
326+ run : >
327+ conan install test/downstream
328+ --lockfile conan.lock
329+ --profile:host '${{ matrix.host_profile }}'
330+ --profile:build '${{ matrix.build_profile }}'
331+ --output-folder=test/downstream/build
332+ --build=missing
317333
318334 - name : cmake
319335 run : >
0 commit comments