mirror of https://github.com/kiwix/kiwix-tools.git
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
107 lines
2.7 KiB
107 lines
2.7 KiB
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"
|