name: CI on: pull_request: push: branches: - main jobs: Windows: runs-on: windows-2022 steps: - name: Checkout code uses: actions/checkout@v4 - name: Setup Python 3.10 uses: actions/setup-python@v5 with: python-version: '3.10' - name: Install packages run: choco install pkgconfiglite ninja - name: Install python modules run: pip3 install meson - name: Setup MSVC compiler uses: bus1/cabuild/action/msdevshell@v1 with: architecture: x64 - name: Install dependencies uses: kiwix/kiwix-build/actions/dl_deps_archive@main with: target_platform: win-x86_64-static - name: Compile shell: cmd run: | set PKG_CONFIG_PATH=%cd%\BUILD_win-amd64\INSTALL\lib\pkgconfig set CPPFLAGS=-I%cd%\BUILD_win-amd64\INSTALL\include meson.exe setup . build -Dstatic-linkage=true --buildtype=release cd build ninja.exe - name: Test shell: cmd run: | cd build meson.exe test --verbose env: WAIT_TIME_FACTOR_TEST: 10 Linux: runs-on: ubuntu-22.04 strategy: fail-fast: false matrix: target: - linux-x86_64-static - linux-x86_64-dyn include: - target: linux-x86_64-static image_variant: jammy lib_postfix: '/x86_64-linux-gnu' arch_name: linux-x86_64 - target: linux-x86_64-dyn image_variant: jammy lib_postfix: '/x86_64-linux-gnu' arch_name: linux-x86_64 env: HOME: /home/runner container: image: "ghcr.io/kiwix/kiwix-build_ci_${{matrix.image_variant}}:2025-06-07" steps: - name: Checkout code uses: actions/checkout@v4 - name: Install dependencies uses: kiwix/kiwix-build/actions/dl_deps_archive@main with: target_platform: ${{ matrix.target }} - name: Compile shell: bash run: | if [[ "${{matrix.target}}" =~ .*-static ]]; then MESON_OPTION="-Dstatic-linkage=true" else MESON_OPTION="" fi if [ -e "$HOME/BUILD_${{matrix.arch_name}}/meson_cross_file.txt" ]; then MESON_OPTION="$MESON_OPTION --cross-file $HOME/BUILD_${{matrix.arch_name}}/meson_cross_file.txt" fi meson . build ${MESON_OPTION} cd build ninja env: PKG_CONFIG_PATH: "${{env.HOME}}/BUILD_${{matrix.arch_name}}/INSTALL/lib/pkgconfig:${{env.HOME}}/BUILD_${{matrix.arch_name}}/INSTALL/lib${{matrix.lib_postfix}}/pkgconfig" CPPFLAGS: "-I${{env.HOME}}/BUILD_${{matrix.arch_name}}/INSTALL/include"