From 70a0888c2d16a159ad294000beaeac516c3385d8 Mon Sep 17 00:00:00 2001 From: Andreas Stefl Date: Sun, 3 Aug 2025 21:05:01 +0200 Subject: [PATCH 01/12] build android in ci --- .../conan/profiles/default | 2 +- .github/workflows/build_test.yml | 50 ++++++++++--------- 2 files changed, 27 insertions(+), 25 deletions(-) diff --git a/.github/config/ubuntu-24.04-gcc-14/conan/profiles/default b/.github/config/ubuntu-24.04-gcc-14/conan/profiles/default index 477764ffd..b50862e6b 100644 --- a/.github/config/ubuntu-24.04-gcc-14/conan/profiles/default +++ b/.github/config/ubuntu-24.04-gcc-14/conan/profiles/default @@ -8,4 +8,4 @@ compiler.libcxx=libstdc++11 os=Linux [conf] -tools.build:compiler_executables={'c': 'gcc-14', 'cpp': 'g++-14'} \ No newline at end of file +tools.build:compiler_executables={'c': 'gcc-14', 'cpp': 'g++-14'} diff --git a/.github/workflows/build_test.yml b/.github/workflows/build_test.yml index 5bef14023..02c4c63a7 100644 --- a/.github/workflows/build_test.yml +++ b/.github/workflows/build_test.yml @@ -18,11 +18,12 @@ jobs: fail-fast: false matrix: include: - - { os: ubuntu-24.04, compiler: clang-18 } - - { os: ubuntu-24.04, compiler: gcc-14 } - - { os: macos-13, compiler: clang-14 } - - { os: macos-14, compiler: armv8-clang-14 } - - { os: windows-2022, compiler: msvc-1940 } + - { os: ubuntu-24.04, config: ubuntu-24.04-clang-18 } + - { os: ubuntu-24.04, config: ubuntu-24.04-gcc-14 } + - { os: macos-13, config: macos-13-clang-14 } + - { os: macos-14, config: macos-14-armv8-clang-14 } + - { os: windows-2022, config: windows-2022-msvc-1940 } + - { os: android-35, config: android-35-x86_64 } steps: - name: checkout uses: actions/checkout@v4 @@ -51,7 +52,7 @@ jobs: conan remote add odr https://artifactory.opendocument.app/artifactory/api/conan/conan conan remote add conancenter https://center2.conan.io - name: conan config - run: conan config install .github/config/${{ matrix.os }}-${{ matrix.compiler }}/conan + run: conan config install .github/config/${{ matrix.config }}/conan - name: conan install run: conan install . --output-folder=build --build=missing @@ -61,9 +62,9 @@ jobs: path: | ~/.ccache /Users/runner/Library/Caches/ccache - key: ${{ matrix.os }}-${{ matrix.compiler }}-${{ env.CCACHE_KEY_SUFFIX }} + key: ${{ matrix.config }}-${{ env.CCACHE_KEY_SUFFIX }} restore-keys: | - ${{ matrix.os }}-${{ matrix.compiler }}- + ${{ matrix.config }}- - name: cmake if: runner.os != 'Windows' @@ -99,7 +100,7 @@ jobs: - name: upload binaries to github uses: actions/upload-artifact@v4 with: - name: bin-${{ matrix.os }}-${{ matrix.compiler }} + name: bin-${{ matrix.config }} path: | install build/test/odr_test @@ -109,7 +110,7 @@ jobs: - name: Artifact .conan2/p dir uses: actions/upload-artifact@v4 with: - name: conan2-${{ matrix.os }}-${{ matrix.compiler }} + name: conan2-${{ matrix.config }} path: ~/.conan2/p if-no-files-found: error compression-level: 0 @@ -156,7 +157,7 @@ jobs: - name: download binaries uses: actions/download-artifact@v4 with: - name: bin-${{ matrix.os }}-${{ matrix.compiler }} + name: bin-${{ matrix.config }} path: cli - name: Build and push @@ -179,14 +180,14 @@ jobs: matrix: include: # fails at the moment because of pdf2htmlex - #- { os: ubuntu-24.04, compiler: clang-18 } - #- { os: ubuntu-24.04, compiler: gcc-14 } - #- { os: macos-13, compiler: clang-14 } - - { os: macos-14, compiler: armv8-clang-14 } + #- { os: ubuntu-24.04, config: ubuntu-24.04-clang-18 } + #- { os: ubuntu-24.04, config: ubuntu-24.04-gcc-14 } + #- { os: macos-13, config: macos-13-clang-14 } + - { os: macos-14, config: macos-14-armv8-clang-14 } # Windows test disabled because: # Running main() from C:\Users\runneradmin\.conan2\p\b\gtestdd9407d368b89\b\src\googletest\src\gtest_main.cc # [ 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 - # - { os: windows-2022, compiler: msvc-1940 } + #- { os: windows-2022, config: windows-2022-msvc-1940 } steps: - name: checkout uses: actions/checkout@v4 @@ -211,13 +212,13 @@ jobs: - name: download binaries uses: actions/download-artifact@v4 with: - name: bin-${{ matrix.os }}-${{ matrix.compiler }} + name: bin-${{ matrix.config }} path: . - name: Download .conan2/p dir uses: actions/download-artifact@v4 with: - name: conan2-${{ matrix.os }}-${{ matrix.compiler }} + name: conan2-${{ matrix.config }} path: ~/.conan2/p - name: fix artifact permissions @@ -264,11 +265,12 @@ jobs: fail-fast: false matrix: include: - - { os: ubuntu-24.04, compiler: clang-18 } - - { os: ubuntu-24.04, compiler: gcc-14 } - - { os: macos-13, compiler: clang-14 } - - { os: macos-14, compiler: armv8-clang-14 } - - { os: windows-2022, compiler: msvc-1940 } + - { os: ubuntu-24.04, config: ubuntu-24.04-clang-18 } + - { os: ubuntu-24.04, config: ubuntu-24.04-gcc-14 } + - { os: macos-13, config: macos-13-clang-14 } + - { os: macos-14, config: macos-14-armv8-clang-14 } + - { os: windows-2022, config: windows-2022-msvc-1940 } + - { os: android-35, config: android-35-x86_64 } steps: - name: checkout uses: actions/checkout@v4 @@ -294,7 +296,7 @@ jobs: - name: conan remote run: conan remote add odr https://artifactory.opendocument.app/artifactory/api/conan/conan - name: conan config - run: conan config install .github/config/${{ matrix.os }}-${{ matrix.compiler }}/conan + run: conan config install .github/config/${{ matrix.config }}/conan - name: conan odrcore run: conan export . --name odrcore --version 0.0.0 From 1472adc1a4e3b826b7684239c65f66842a136747 Mon Sep 17 00:00:00 2001 From: Andreas Stefl Date: Sun, 3 Aug 2025 21:06:09 +0200 Subject: [PATCH 02/12] fix silly --- .github/workflows/build_test.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build_test.yml b/.github/workflows/build_test.yml index 02c4c63a7..6d10acb83 100644 --- a/.github/workflows/build_test.yml +++ b/.github/workflows/build_test.yml @@ -23,7 +23,7 @@ jobs: - { os: macos-13, config: macos-13-clang-14 } - { os: macos-14, config: macos-14-armv8-clang-14 } - { os: windows-2022, config: windows-2022-msvc-1940 } - - { os: android-35, config: android-35-x86_64 } + - { os: ubuntu-24.04, config: android-35-x86_64 } steps: - name: checkout uses: actions/checkout@v4 @@ -270,7 +270,7 @@ jobs: - { os: macos-13, config: macos-13-clang-14 } - { os: macos-14, config: macos-14-armv8-clang-14 } - { os: windows-2022, config: windows-2022-msvc-1940 } - - { os: android-35, config: android-35-x86_64 } + - { os: ubuntu-24.04, config: android-35-x86_64 } steps: - name: checkout uses: actions/checkout@v4 From 4d01f70c18267200794fe4baeca511d70dcae8c1 Mon Sep 17 00:00:00 2001 From: Andreas Stefl Date: Sun, 3 Aug 2025 21:13:28 +0200 Subject: [PATCH 03/12] add missing conan config --- .../android-35-x86_64/conan/profiles/default | 35 +++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 .github/config/android-35-x86_64/conan/profiles/default diff --git a/.github/config/android-35-x86_64/conan/profiles/default b/.github/config/android-35-x86_64/conan/profiles/default new file mode 100644 index 000000000..3fecba7d7 --- /dev/null +++ b/.github/config/android-35-x86_64/conan/profiles/default @@ -0,0 +1,35 @@ +{% set android_home = os.getenv("ANDROID_HOME") %} +{% set ndk_version = "28.1.13356709" %} +{% set api_level = "35" %} +{% set arch = "x86_64" %} +{% set cc = { + "armv7": "armv7a-linux-androideabi" + api_level + "-clang", + "armv8": "aarch64-linux-android" + api_level + "-clang", + "x86": "i686-linux-android" + api_level + "-clang", + "x86_64": "x86_64-linux-android" + api_level + "-clang", +}[arch] %} + +[settings] +os=Android +os.api_level={{api_level}} +arch={{arch}} +build_type=Release +compiler=clang +compiler.version=17 +compiler.cppstd=20 +compiler.libcxx=c++_shared + +[conf] +tools.android:ndk_path={{android_home}}/ndk/{{ndk_version}} + +[buildenv] +# Cross compile toolchain evn vars are required to build +# libffi, libgettext, libiconv, libxml2 and other autotools packages for Android +# https://github.com/conan-io/conan/issues/16493 +AR={{android_home}}/ndk/{{ndk_version}}/toolchains/llvm/prebuilt/linux-x86_64/bin/llvm-ar +AS={{android_home}}/ndk/{{ndk_version}}/toolchains/llvm/prebuilt/linux-x86_64/bin/llvm-as +RANLIB={{android_home}}/ndk/{{ndk_version}}/toolchains/llvm/prebuilt/linux-x86_64/bin/llvm-ranlib +CC={{android_home}}/ndk/{{ndk_version}}/toolchains/llvm/prebuilt/linux-x86_64/bin/{{cc}} +CXX={{android_home}}/ndk/{{ndk_version}}/toolchains/llvm/prebuilt/linux-x86_64/bin/{{cc}}++ +LD={{android_home}}/ndk/{{ndk_version}}/toolchains/llvm/prebuilt/linux-x86_64/bin/ld +STRIP={{android_home}}/ndk/{{ndk_version}}/toolchains/llvm/prebuilt/linux-x86_64/bin/llvm-strip From 28fb03e2e418a896efac8fc0b63790e68904fa1c Mon Sep 17 00:00:00 2001 From: Andreas Stefl Date: Sun, 3 Aug 2025 21:28:44 +0200 Subject: [PATCH 04/12] install ndk --- .github/workflows/build_test.yml | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build_test.yml b/.github/workflows/build_test.yml index 6d10acb83..c8234b908 100644 --- a/.github/workflows/build_test.yml +++ b/.github/workflows/build_test.yml @@ -23,7 +23,7 @@ jobs: - { os: macos-13, config: macos-13-clang-14 } - { os: macos-14, config: macos-14-armv8-clang-14 } - { os: windows-2022, config: windows-2022-msvc-1940 } - - { os: ubuntu-24.04, config: android-35-x86_64 } + - { os: ubuntu-24.04, config: android-35-x86_64, ndk_version: 28.1.13356709 } steps: - name: checkout uses: actions/checkout@v4 @@ -46,6 +46,10 @@ jobs: - name: install python dependencies run: pip install conan + - name: install NDK + if: startsWith(matrix.config, 'android') + run: yes | ${ANDROID_HOME}/cmdline-tools/latest/bin/sdkmanager --install 'ndk;${{ matrix.ndk_version }}' + - name: conan remote run: | conan remote remove "*" @@ -270,7 +274,7 @@ jobs: - { os: macos-13, config: macos-13-clang-14 } - { os: macos-14, config: macos-14-armv8-clang-14 } - { os: windows-2022, config: windows-2022-msvc-1940 } - - { os: ubuntu-24.04, config: android-35-x86_64 } + - { os: ubuntu-24.04, config: android-35-x86_64, ndk_version: 28.1.13356709 } steps: - name: checkout uses: actions/checkout@v4 @@ -293,6 +297,10 @@ jobs: - name: install python dependencies run: pip install conan + - name: install NDK + if: startsWith(matrix.config, 'android') + run: yes | ${ANDROID_HOME}/cmdline-tools/latest/bin/sdkmanager --install 'ndk;${{ matrix.ndk_version }}' + - name: conan remote run: conan remote add odr https://artifactory.opendocument.app/artifactory/api/conan/conan - name: conan config From 47c3cf1be5852968936cdd9fa2fd402c5617e9bd Mon Sep 17 00:00:00 2001 From: Andreas Stefl Date: Sun, 3 Aug 2025 21:37:14 +0200 Subject: [PATCH 05/12] fix argon --- conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/conanfile.py b/conanfile.py index 6a8e22c01..d8fcbbda7 100644 --- a/conanfile.py +++ b/conanfile.py @@ -48,7 +48,7 @@ def requirements(self): if self.options.get_safe("with_wvWare", False): self.requires("wvware/1.2.9-odr") self.requires("cpp-httplib/0.16.3") - self.requires("argon2/20190702") + self.requires("argon2-odr/20190702") def build_requirements(self): self.test_requires("gtest/1.14.0") From 8c3f6e902e627830952d038042daeb3ae1aebc58 Mon Sep 17 00:00:00 2001 From: Andreas Stefl Date: Sun, 3 Aug 2025 21:39:27 +0200 Subject: [PATCH 06/12] fix silly --- conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/conanfile.py b/conanfile.py index d8fcbbda7..738ec7cf6 100644 --- a/conanfile.py +++ b/conanfile.py @@ -48,7 +48,7 @@ def requirements(self): if self.options.get_safe("with_wvWare", False): self.requires("wvware/1.2.9-odr") self.requires("cpp-httplib/0.16.3") - self.requires("argon2-odr/20190702") + self.requires("argon2/20190702-odr") def build_requirements(self): self.test_requires("gtest/1.14.0") From c90ee5c345a60a0d49384b36682b6a66d30f94e2 Mon Sep 17 00:00:00 2001 From: Andreas Stefl Date: Sun, 3 Aug 2025 23:38:16 +0200 Subject: [PATCH 07/12] restructure conan configs --- .../profiles/android-35-x86_64} | 0 .../profiles/macos-13-clang-14} | 0 .../profiles/macos-14-armv8-clang-14} | 0 .../profiles/ubuntu-24.04-clang-18} | 0 .../profiles/ubuntu-24.04-gcc-14} | 0 .../profiles/windows-2022-msvc-1940} | 0 .github/workflows/build_test.yml | 78 +++++++++++-------- 7 files changed, 47 insertions(+), 31 deletions(-) rename .github/config/{android-35-x86_64/conan/profiles/default => conan/profiles/android-35-x86_64} (100%) rename .github/config/{macos-13-clang-14/conan/profiles/default => conan/profiles/macos-13-clang-14} (100%) rename .github/config/{macos-14-armv8-clang-14/conan/profiles/default => conan/profiles/macos-14-armv8-clang-14} (100%) rename .github/config/{ubuntu-24.04-clang-18/conan/profiles/default => conan/profiles/ubuntu-24.04-clang-18} (100%) rename .github/config/{ubuntu-24.04-gcc-14/conan/profiles/default => conan/profiles/ubuntu-24.04-gcc-14} (100%) rename .github/config/{windows-2022-msvc-1940/conan/profiles/default => conan/profiles/windows-2022-msvc-1940} (100%) diff --git a/.github/config/android-35-x86_64/conan/profiles/default b/.github/config/conan/profiles/android-35-x86_64 similarity index 100% rename from .github/config/android-35-x86_64/conan/profiles/default rename to .github/config/conan/profiles/android-35-x86_64 diff --git a/.github/config/macos-13-clang-14/conan/profiles/default b/.github/config/conan/profiles/macos-13-clang-14 similarity index 100% rename from .github/config/macos-13-clang-14/conan/profiles/default rename to .github/config/conan/profiles/macos-13-clang-14 diff --git a/.github/config/macos-14-armv8-clang-14/conan/profiles/default b/.github/config/conan/profiles/macos-14-armv8-clang-14 similarity index 100% rename from .github/config/macos-14-armv8-clang-14/conan/profiles/default rename to .github/config/conan/profiles/macos-14-armv8-clang-14 diff --git a/.github/config/ubuntu-24.04-clang-18/conan/profiles/default b/.github/config/conan/profiles/ubuntu-24.04-clang-18 similarity index 100% rename from .github/config/ubuntu-24.04-clang-18/conan/profiles/default rename to .github/config/conan/profiles/ubuntu-24.04-clang-18 diff --git a/.github/config/ubuntu-24.04-gcc-14/conan/profiles/default b/.github/config/conan/profiles/ubuntu-24.04-gcc-14 similarity index 100% rename from .github/config/ubuntu-24.04-gcc-14/conan/profiles/default rename to .github/config/conan/profiles/ubuntu-24.04-gcc-14 diff --git a/.github/config/windows-2022-msvc-1940/conan/profiles/default b/.github/config/conan/profiles/windows-2022-msvc-1940 similarity index 100% rename from .github/config/windows-2022-msvc-1940/conan/profiles/default rename to .github/config/conan/profiles/windows-2022-msvc-1940 diff --git a/.github/workflows/build_test.yml b/.github/workflows/build_test.yml index c8234b908..40c441788 100644 --- a/.github/workflows/build_test.yml +++ b/.github/workflows/build_test.yml @@ -18,12 +18,12 @@ jobs: fail-fast: false matrix: include: - - { os: ubuntu-24.04, config: ubuntu-24.04-clang-18 } - - { os: ubuntu-24.04, config: ubuntu-24.04-gcc-14 } - - { os: macos-13, config: macos-13-clang-14 } - - { os: macos-14, config: macos-14-armv8-clang-14 } - - { os: windows-2022, config: windows-2022-msvc-1940 } - - { os: ubuntu-24.04, config: android-35-x86_64, ndk_version: 28.1.13356709 } + - { os: ubuntu-24.04, build_profile: ubuntu-24.04-clang-18, host_profile: ubuntu-24.04-clang-18 } + - { os: ubuntu-24.04, build_profile: ubuntu-24.04-gcc-14, host_profile: ubuntu-24.04-gcc-14 } + - { os: macos-13, build_profile: macos-13-clang-14, host_profile: macos-13-clang-14 } + - { os: macos-14, build_profile: macos-14-armv8-clang-14, host_profile: macos-14-armv8-clang-14 } + - { os: windows-2022, build_profile: windows-2022-msvc-1940, host_profile: windows-2022-msvc-1940 } + - { os: ubuntu-24.04, build_profile: ubuntu-24.04-clang-18, host_profile: android-35-x86_64, ndk_version: 28.1.13356709 } steps: - name: checkout uses: actions/checkout@v4 @@ -47,7 +47,7 @@ jobs: run: pip install conan - name: install NDK - if: startsWith(matrix.config, 'android') + if: startsWith(matrix.host_profile, 'android') run: yes | ${ANDROID_HOME}/cmdline-tools/latest/bin/sdkmanager --install 'ndk;${{ matrix.ndk_version }}' - name: conan remote @@ -56,9 +56,13 @@ jobs: conan remote add odr https://artifactory.opendocument.app/artifactory/api/conan/conan conan remote add conancenter https://center2.conan.io - name: conan config - run: conan config install .github/config/${{ matrix.config }}/conan + run: conan config install .github/config/conan - name: conan install - run: conan install . --output-folder=build --build=missing + run: > + conan install . + --lockfile conan.lock + --profile:host '${{ matrix.host_profile }}' + --profile:build '${{ matrix.build_profile }}' - name: cache uses: actions/cache@v4 @@ -66,9 +70,9 @@ jobs: path: | ~/.ccache /Users/runner/Library/Caches/ccache - key: ${{ matrix.config }}-${{ env.CCACHE_KEY_SUFFIX }} + key: ${{ matrix.host_profile }}-${{ env.CCACHE_KEY_SUFFIX }} restore-keys: | - ${{ matrix.config }}- + ${{ matrix.host_profile }}- - name: cmake if: runner.os != 'Windows' @@ -104,7 +108,7 @@ jobs: - name: upload binaries to github uses: actions/upload-artifact@v4 with: - name: bin-${{ matrix.config }} + name: bin-${{ matrix.host_profile }} path: | install build/test/odr_test @@ -114,7 +118,7 @@ jobs: - name: Artifact .conan2/p dir uses: actions/upload-artifact@v4 with: - name: conan2-${{ matrix.config }} + name: conan2-${{ matrix.host_profile }} path: ~/.conan2/p if-no-files-found: error compression-level: 0 @@ -161,7 +165,7 @@ jobs: - name: download binaries uses: actions/download-artifact@v4 with: - name: bin-${{ matrix.config }} + name: bin-${{ matrix.host_profile }} path: cli - name: Build and push @@ -184,14 +188,14 @@ jobs: matrix: include: # fails at the moment because of pdf2htmlex - #- { os: ubuntu-24.04, config: ubuntu-24.04-clang-18 } - #- { os: ubuntu-24.04, config: ubuntu-24.04-gcc-14 } - #- { os: macos-13, config: macos-13-clang-14 } - - { os: macos-14, config: macos-14-armv8-clang-14 } + #- { os: ubuntu-24.04, host_profile: ubuntu-24.04-clang-18 } + #- { os: ubuntu-24.04, host_profile: ubuntu-24.04-gcc-14 } + #- { os: macos-13, host_profile: macos-13-clang-14 } + - { os: macos-14, host_profile: macos-14-armv8-clang-14 } # Windows test disabled because: # Running main() from C:\Users\runneradmin\.conan2\p\b\gtestdd9407d368b89\b\src\googletest\src\gtest_main.cc # [ 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 - #- { os: windows-2022, config: windows-2022-msvc-1940 } + #- { os: windows-2022, host_profile: windows-2022-msvc-1940 } steps: - name: checkout uses: actions/checkout@v4 @@ -216,13 +220,13 @@ jobs: - name: download binaries uses: actions/download-artifact@v4 with: - name: bin-${{ matrix.config }} + name: bin-${{ matrix.host_profile }} path: . - name: Download .conan2/p dir uses: actions/download-artifact@v4 with: - name: conan2-${{ matrix.config }} + name: conan2-${{ matrix.host_profile }} path: ~/.conan2/p - name: fix artifact permissions @@ -269,12 +273,12 @@ jobs: fail-fast: false matrix: include: - - { os: ubuntu-24.04, config: ubuntu-24.04-clang-18 } - - { os: ubuntu-24.04, config: ubuntu-24.04-gcc-14 } - - { os: macos-13, config: macos-13-clang-14 } - - { os: macos-14, config: macos-14-armv8-clang-14 } - - { os: windows-2022, config: windows-2022-msvc-1940 } - - { os: ubuntu-24.04, config: android-35-x86_64, ndk_version: 28.1.13356709 } + - { os: ubuntu-24.04, build_profile: ubuntu-24.04-clang-18, host_profile: ubuntu-24.04-clang-18 } + - { os: ubuntu-24.04, build_profile: ubuntu-24.04-gcc-14, host_profile: ubuntu-24.04-gcc-14 } + - { os: macos-13, build_profile: macos-13-clang-14, host_profile: macos-13-clang-14 } + - { os: macos-14, build_profile: macos-14-armv8-clang-14, host_profile: macos-14-armv8-clang-14 } + - { os: windows-2022, build_profile: windows-2022-msvc-1940, host_profile: windows-2022-msvc-1940 } + - { os: ubuntu-24.04, build_profile: ubuntu-24.04-clang-18, host_profile: android-35-x86_64, ndk_version: 28.1.13356709 } steps: - name: checkout uses: actions/checkout@v4 @@ -298,22 +302,34 @@ jobs: run: pip install conan - name: install NDK - if: startsWith(matrix.config, 'android') + if: startsWith(matrix.host_profile, 'android') run: yes | ${ANDROID_HOME}/cmdline-tools/latest/bin/sdkmanager --install 'ndk;${{ matrix.ndk_version }}' - name: conan remote run: conan remote add odr https://artifactory.opendocument.app/artifactory/api/conan/conan - name: conan config - run: conan config install .github/config/${{ matrix.config }}/conan + run: conan config install .github/config/conan - name: conan odrcore run: conan export . --name odrcore --version 0.0.0 - name: conan install - run: conan install . --output-folder=build --build=missing + run: > + conan install . + --lockfile conan.lock + --profile:host '${{ matrix.host_profile }}' + --profile:build '${{ matrix.build_profile }}' + --output-folder=build + --build=missing - name: conan downstream - run: conan install test/downstream --output-folder=test/downstream/build --build=missing + run: > + conan install test/downstream + --lockfile conan.lock + --profile:host '${{ matrix.host_profile }}' + --profile:build '${{ matrix.build_profile }}' + --output-folder=test/downstream/build + --build=missing - name: cmake run: > From 865a1c7eaec98d386c42c0721bf0ef092693ab23 Mon Sep 17 00:00:00 2001 From: Andreas Stefl Date: Sun, 3 Aug 2025 23:46:39 +0200 Subject: [PATCH 08/12] fix --- .github/workflows/build_test.yml | 1 - .github/workflows/tidy.yml | 10 +++++++--- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/.github/workflows/build_test.yml b/.github/workflows/build_test.yml index 40c441788..35838c1bb 100644 --- a/.github/workflows/build_test.yml +++ b/.github/workflows/build_test.yml @@ -325,7 +325,6 @@ jobs: - name: conan downstream run: > conan install test/downstream - --lockfile conan.lock --profile:host '${{ matrix.host_profile }}' --profile:build '${{ matrix.build_profile }}' --output-folder=test/downstream/build diff --git a/.github/workflows/tidy.yml b/.github/workflows/tidy.yml index 61b1f38e8..8eba5ddb3 100644 --- a/.github/workflows/tidy.yml +++ b/.github/workflows/tidy.yml @@ -13,7 +13,7 @@ jobs: fail-fast: false matrix: include: - - { os: ubuntu-24.04, compiler: clang-18 } + - { os: ubuntu-24.04, build_profile: ubuntu-24.04-clang-18, host_profile: ubuntu-24.04-clang-18 } steps: - name: checkout uses: actions/checkout@v4 @@ -30,9 +30,13 @@ jobs: - name: conan remote run: conan remote add odr https://artifactory.opendocument.app/artifactory/api/conan/conan - name: conan config - run: conan config install .github/config/${{ matrix.os }}-${{ matrix.compiler }}/conan + run: conan config install .github/config/conan - name: conan install - run: conan install . --output-folder=build --build=missing + run: > + conan install . + --lockfile conan.lock + --profile:host '${{ matrix.host_profile }}' + --profile:build '${{ matrix.build_profile }}' - name: cmake run: > From 2aaa1dfd54cbeebffe4c5029d12522c61864aa55 Mon Sep 17 00:00:00 2001 From: Andreas Stefl Date: Sun, 3 Aug 2025 23:52:04 +0200 Subject: [PATCH 09/12] dont run downstream for android --- .github/workflows/build_test.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build_test.yml b/.github/workflows/build_test.yml index 35838c1bb..2efe34ac9 100644 --- a/.github/workflows/build_test.yml +++ b/.github/workflows/build_test.yml @@ -340,7 +340,7 @@ jobs: run: cmake --build test/downstream/build --config Release - name: run - if: runner.os != 'Windows' + if: runner.os != 'Windows' && !startsWith(matrix.host_profile, 'android') run: test/downstream/build/odr-test-downstream - name: run if: runner.os == 'Windows' From 5c6a6a35feb0b4a2c6a414db3b52511ccb841f99 Mon Sep 17 00:00:00 2001 From: Andreas Stefl Date: Sun, 3 Aug 2025 23:52:58 +0200 Subject: [PATCH 10/12] again --- .github/workflows/build_test.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build_test.yml b/.github/workflows/build_test.yml index 2efe34ac9..4f1d31884 100644 --- a/.github/workflows/build_test.yml +++ b/.github/workflows/build_test.yml @@ -340,7 +340,7 @@ jobs: run: cmake --build test/downstream/build --config Release - name: run - if: runner.os != 'Windows' && !startsWith(matrix.host_profile, 'android') + if: runner.os == 'Linux' || runner.os == 'macOS' run: test/downstream/build/odr-test-downstream - name: run if: runner.os == 'Windows' From d6c959c5e30d6126218e7e928c123f59456f3bbd Mon Sep 17 00:00:00 2001 From: Andreas Stefl Date: Mon, 4 Aug 2025 07:29:36 +0200 Subject: [PATCH 11/12] fix --- .github/workflows/build_test.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build_test.yml b/.github/workflows/build_test.yml index 4f1d31884..454011540 100644 --- a/.github/workflows/build_test.yml +++ b/.github/workflows/build_test.yml @@ -340,8 +340,8 @@ jobs: run: cmake --build test/downstream/build --config Release - name: run - if: runner.os == 'Linux' || runner.os == 'macOS' + if: matrix.build_profile == matrix.host_profile && (runner.os == 'Linux' || runner.os == 'macOS') run: test/downstream/build/odr-test-downstream - name: run - if: runner.os == 'Windows' + if: matrix.build_profile == matrix.host_profile && runner.os == 'Windows' run: test/downstream/build/Release/odr-test-downstream.exe From 5ee517af1b864d461d3ee3f594c54c1c83384068 Mon Sep 17 00:00:00 2001 From: Andreas Stefl Date: Mon, 4 Aug 2025 07:40:20 +0200 Subject: [PATCH 12/12] fix --- .github/workflows/build_test.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build_test.yml b/.github/workflows/build_test.yml index 454011540..fc126e102 100644 --- a/.github/workflows/build_test.yml +++ b/.github/workflows/build_test.yml @@ -130,7 +130,7 @@ jobs: fail-fast: false matrix: include: - - { os: ubuntu-24.04, compiler: clang-18 } + - { os: ubuntu-24.04, host_profile: ubuntu-24.04-clang-18 } steps: - name: checkout uses: actions/checkout@v4