diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 190c87567..c289f6978 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -8,7 +8,17 @@ on: jobs: macOS: - runs-on: macos-13 + strategy: + fail-fast: false + matrix: + os: + - macos-13 + target: + - native_dyn + - iOS_arm64 + - iOS_x86_64 + runs-on: ${{ matrix.os }} + env: HOME: /Users/runner steps: @@ -23,21 +33,30 @@ jobs: rm -f /usr/local/bin/2to3 /usr/local/bin/2to3-3.11 /usr/local/bin/idle3 /usr/local/bin/idle3.11 /usr/local/bin/pydoc3 /usr/local/bin/pydoc3.11 /usr/local/bin/python3 /usr/local/bin/python3-config /usr/local/bin/python3.11 /usr/local/bin/python3.11-config brew install pkg-config ninja meson - - name: Install dependencies - env: - ARCHIVE_NAME: deps2_macos_native_dyn_libkiwix.tar.xz + - name: Install deps + shell: bash run: | - wget -O- https://tmp.kiwix.org/ci/${{env.ARCHIVE_NAME}} | tar -xJ -C ${{env.HOME}} + ARCHIVE_NAME=deps2_macos_${{matrix.target}}_libkiwix.tar.xz + wget -O- http://tmp.kiwix.org/ci/${ARCHIVE_NAME} | tar -xJ -C $HOME - - name: Compile source code + - name: Compile env: PKG_CONFIG_PATH: ${{env.HOME}}/BUILD_native_dyn/INSTALL/lib/pkgconfig CPPFLAGS: -I${{env.HOME}}/BUILD_native_dyn/INSTALL/include + shell: bash run: | - meson . build --default-library=shared -Db_coverage=true + MESON_OPTION="--default-library=shared -Db_coverage=true" + MESON_CROSSFILE="$HOME/BUILD_${{matrix.target}}/meson_cross_file.txt" + if [[ ! "${{matrix.target}}" =~ native_.* ]]; then + MESON_OPTION="$MESON_OPTION --cross-file $MESON_CROSSFILE -Dstatic-linkage=true" + cat $MESON_CROSSFILE + fi + export PKG_CONFIG_PATH=$HOME/BUILD_${{matrix.target}}/INSTALL/lib/pkgconfig + meson . build ${MESON_OPTION} ninja -C build - name: Test libkiwix + if: startsWith(matrix.target, 'native_') env: SKIP_BIG_MEMORY_TEST: 1 LD_LIBRARY_PATH: ${{env.HOME}}/BUILD_native_dyn/INSTALL/lib:${{env.HOME}}/BUILD_native_dyn/INSTALL/lib64