From 683250ca9d251e3822238520aedbc4ccfe5e957a Mon Sep 17 00:00:00 2001 From: Matthieu Gautier Date: Wed, 29 May 2024 18:11:42 +0200 Subject: [PATCH 1/3] Use manylinux container instead of bionic Alignement of the table in build_definition will be fixed in later commit to not mix functionnal and cosmetic changes in the same commit. --- .github/scripts/build_definition.py | 6 +++--- .github/workflows/ci.yml | 6 +++--- .github/workflows/releaseNigthly.yml | 6 +++--- kiwixbuild/dependencies/all_dependencies.py | 2 +- 4 files changed, 10 insertions(+), 10 deletions(-) diff --git a/.github/scripts/build_definition.py b/.github/scripts/build_definition.py index 5b38c0e4..d4514c74 100644 --- a/.github/scripts/build_definition.py +++ b/.github/scripts/build_definition.py @@ -17,9 +17,9 @@ BUILD_DEF = """ | OS_NAME | COMPILE_CONFIG | libzim | libkiwix | zim-tools | kiwix-tools | kiwix-desktop | platform_name | dependency_name | ============================================================================================================================================== -# Bionic is a special case as we need to compile libzim on old arch for python - | bionic | native_mixed | BP | | | | | linux-x86_64-bionic | | - | bionic | aarch64_mixed | BP | | | | | linux-aarch64-bionic | | +# manylinux is a special case as we need to compile libzim on old arch for python + | manylinux | native_mixed | BP | | | | | linux-x86_64-manylinux | | + | manylinux | aarch64_mixed | BP | | | | | linux-aarch64-manylinux | | ---------------------------------------------------------------------------------------------------------------------------------------------- # Osx builds, build binaries on native_dyn and native_static. On anyother things, build only the libraries | macos | native_dyn | d | d | dB | B | | | macos-x86_64-dyn | diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index bd61634e..b87a0fb5 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -38,9 +38,9 @@ jobs: image_variant: ['focal'] include: - config: native_mixed - image_variant: bionic + image_variant: manylinux - config: aarch64_mixed - image_variant: bionic + image_variant: manylinux - config: win32_static image_variant: f35 - config: win32_dyn @@ -50,7 +50,7 @@ jobs: SSH_KEY: /tmp/id_rsa runs-on: ubuntu-22.04 container: - image: "ghcr.io/kiwix/kiwix-build_ci_${{matrix.image_variant}}:2023-10-30" + image: "ghcr.io/kiwix/kiwix-build_ci_${{matrix.image_variant}}:2024-06-03" options: "--device /dev/fuse --privileged" steps: - name: Checkout code diff --git a/.github/workflows/releaseNigthly.yml b/.github/workflows/releaseNigthly.yml index 26e4e5b1..fedf5d66 100644 --- a/.github/workflows/releaseNigthly.yml +++ b/.github/workflows/releaseNigthly.yml @@ -35,9 +35,9 @@ jobs: image_variant: ['focal'] include: - config: native_mixed - image_variant: bionic + image_variant: manylinux - config: aarch64_mixed - image_variant: bionic + image_variant: manylinux - config: win32_static image_variant: f35 env: @@ -45,7 +45,7 @@ jobs: SSH_KEY: /tmp/id_rsa runs-on: ubuntu-22.04 container: - image: "ghcr.io/kiwix/kiwix-build_ci_${{matrix.image_variant}}:2023-10-30" + image: "ghcr.io/kiwix/kiwix-build_ci_${{matrix.image_variant}}:2024-06-03" options: "--device /dev/fuse --privileged" steps: - name: Checkout code diff --git a/kiwixbuild/dependencies/all_dependencies.py b/kiwixbuild/dependencies/all_dependencies.py index 18cbeb77..f1be7c24 100644 --- a/kiwixbuild/dependencies/all_dependencies.py +++ b/kiwixbuild/dependencies/all_dependencies.py @@ -13,7 +13,7 @@ class AllBaseDependencies(Dependency): class Builder(NoopBuilder): @classmethod def get_dependencies(cls, configInfo, allDeps): - if configInfo.build == "wasm" or environ.get("OS_NAME") == "bionic": + if configInfo.build == "wasm" or environ.get("OS_NAME") == "manylinux": return ["zlib", "lzma", "zstd", "icu4c", "xapian-core"] base_deps = [ From 1534b85c56db47e5ec56a86de6d25d88b6bd0ce2 Mon Sep 17 00:00:00 2001 From: Matthieu Gautier Date: Mon, 3 Jun 2024 10:42:20 +0200 Subject: [PATCH 2/3] Fix indentation of build_definition --- .github/scripts/build_definition.py | 80 ++++++++++++++--------------- 1 file changed, 40 insertions(+), 40 deletions(-) diff --git a/.github/scripts/build_definition.py b/.github/scripts/build_definition.py index d4514c74..9f64453d 100644 --- a/.github/scripts/build_definition.py +++ b/.github/scripts/build_definition.py @@ -15,52 +15,52 @@ # 'D' letter means we trigger the docker forkflow to build the docker image. # If a cell contains several letters, all are done. BUILD_DEF = """ - | OS_NAME | COMPILE_CONFIG | libzim | libkiwix | zim-tools | kiwix-tools | kiwix-desktop | platform_name | dependency_name | + | OS_NAME | COMPILE_CONFIG | libzim | libkiwix | zim-tools | kiwix-tools | kiwix-desktop | platform_name | dependency_name | ============================================================================================================================================== # manylinux is a special case as we need to compile libzim on old arch for python - | manylinux | native_mixed | BP | | | | | linux-x86_64-manylinux | | - | manylinux | aarch64_mixed | BP | | | | | linux-aarch64-manylinux | | + | manylinux | native_mixed | BP | | | | | linux-x86_64-manylinux | | + | manylinux | aarch64_mixed | BP | | | | | linux-aarch64-manylinux | | ---------------------------------------------------------------------------------------------------------------------------------------------- # Osx builds, build binaries on native_dyn and native_static. On anyother things, build only the libraries - | macos | native_dyn | d | d | dB | B | | | macos-x86_64-dyn | - | macos | native_static | | | BP | BP | | macos-x86_64 | | - | macos | native_mixed | BP | BP | | | | macos-x86_64 | | - | macos | iOS_arm64 | dB | dB | | | | | ios-arm64-dyn | - | macos | iOSSimulator_x86_64| dB | dB | | | | | ios-x86_64-dyn | - | macos | iOSSimulator_arm64 | B | B | | | | | | - | macos | macOS_arm64_static | | | BP | BP | | macos-arm64 | | - | macos | macOS_arm64_mixed | dBP | dBP | d | | | macos-arm64 | macos-aarch64-dyn | - | macos | macOS_x86_64 | B | B | | | | | | - | macos | apple_all_static | | BP | | | | xcframework | | + | macos | native_dyn | d | d | dB | B | | | macos-x86_64-dyn | + | macos | native_static | | | BP | BP | | macos-x86_64 | | + | macos | native_mixed | BP | BP | | | | macos-x86_64 | | + | macos | iOS_arm64 | dB | dB | | | | | ios-arm64-dyn | + | macos | iOSSimulator_x86_64| dB | dB | | | | | ios-x86_64-dyn | + | macos | iOSSimulator_arm64 | B | B | | | | | | + | macos | macOS_arm64_static | | | BP | BP | | macos-arm64 | | + | macos | macOS_arm64_mixed | dBP | dBP | d | | | macos-arm64 | macos-aarch64-dyn | + | macos | macOS_x86_64 | B | B | | | | | | + | macos | apple_all_static | | BP | | | | xcframework | | ---------------------------------------------------------------------------------------------------------------------------------------------- - | | flatpak | | | | | BP | | | - | | native_static | d | d | dBPSD | dBPSD | | linux-x86_64 | linux-x86_64-static | - | | native_mixed | BPS | BPS | | | | linux-x86_64 | | - | | native_dyn | d | d | dB | dB | dBPS | | linux-x86_64-dyn | + | | flatpak | | | | | BP | | | + | | native_static | d | d | dBPSD | dBPSD | | linux-x86_64 | linux-x86_64-static | + | | native_mixed | BPS | BPS | | | | linux-x86_64 | | + | | native_dyn | d | d | dB | dB | dBPS | | linux-x86_64-dyn | # libzim CI is building alpine_dyn but not us - | | android_arm | dBP | dBP | | | | android-arm | android-arm | - | | android_arm64 | dBP | dBP | | | | android-arm64 | android-arm64 | - | | android_x86 | BP | BP | | | | android-x86 | | - | | android_x86_64 | BP | BP | | | | android-x86_64 | | - | | armv6_static | | | BP | BP | | linux-armv6 | | - | | armv6_mixed | BP | | | | | linux-armv6 | | - | | armv6_dyn | | | B | B | | | | - | | armv8_static | | | BP | BP | | linux-armv8 | | - | | armv8_mixed | BP | | | | | linux-armv8 | | - | | armv8_dyn | | | B | B | | | | - | | aarch64_static | | | BP | BP | | linux-aarch64 | | - | | aarch64_mixed | BP | | | | | linux-aarch64 | | - | | aarch64_dyn | d | | B | B | | | linux-aarch64-dyn | - | | aarch64_musl_static| | | BP | BP | | linux-aarch64-musl | | - | | aarch64_musl_mixed | BP | | | | | linux-aarch64-musl | | - | | aarch64_musl_dyn | d | | B | B | | | linux-aarch64-musl-dyn | - | | x86-64_musl_static | | | BP | BP | | linux-x86_64-musl | | - | | x86-64_musl_mixed | BP | | | | | linux-x86_64-musl | | - | | win32_static | d | dB | dBP | dBP | | win-i686 |win32-static | - | | win32_dyn | d | dB | dB | dB | | |win32-dyn | - | | i586_static | | | BP | BP | | linux-i586 | | - | | i586_dyn | | | B | B | | | | - | | wasm | dBP | | | | | wasm-emscripten | wasm | + | | android_arm | dBP | dBP | | | | android-arm | android-arm | + | | android_arm64 | dBP | dBP | | | | android-arm64 | android-arm64 | + | | android_x86 | BP | BP | | | | android-x86 | | + | | android_x86_64 | BP | BP | | | | android-x86_64 | | + | | armv6_static | | | BP | BP | | linux-armv6 | | + | | armv6_mixed | BP | | | | | linux-armv6 | | + | | armv6_dyn | | | B | B | | | | + | | armv8_static | | | BP | BP | | linux-armv8 | | + | | armv8_mixed | BP | | | | | linux-armv8 | | + | | armv8_dyn | | | B | B | | | | + | | aarch64_static | | | BP | BP | | linux-aarch64 | | + | | aarch64_mixed | BP | | | | | linux-aarch64 | | + | | aarch64_dyn | d | | B | B | | | linux-aarch64-dyn | + | | aarch64_musl_static| | | BP | BP | | linux-aarch64-musl | | + | | aarch64_musl_mixed | BP | | | | | linux-aarch64-musl | | + | | aarch64_musl_dyn | d | | B | B | | | linux-aarch64-musl-dyn | + | | x86-64_musl_static | | | BP | BP | | linux-x86_64-musl | | + | | x86-64_musl_mixed | BP | | | | | linux-x86_64-musl | | + | | win32_static | d | dB | dBP | dBP | | win-i686 |win32-static | + | | win32_dyn | d | dB | dB | dB | | |win32-dyn | + | | i586_static | | | BP | BP | | linux-i586 | | + | | i586_dyn | | | B | B | | | | + | | wasm | dBP | | | | | wasm-emscripten | wasm | """ From 8832888aaa071b8ae75564f82cb0d7e3aa52cc8a Mon Sep 17 00:00:00 2001 From: Matthieu Gautier Date: Mon, 3 Jun 2024 10:39:31 +0200 Subject: [PATCH 3/3] Add almalinux as compatible host for native and aarch config --- kiwixbuild/configs/armhf.py | 2 +- kiwixbuild/configs/native.py | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/kiwixbuild/configs/armhf.py b/kiwixbuild/configs/armhf.py index de666a32..294b518d 100644 --- a/kiwixbuild/configs/armhf.py +++ b/kiwixbuild/configs/armhf.py @@ -6,7 +6,7 @@ # Base config for arm class ArmConfigInfo(ConfigInfo): - compatible_hosts = ["fedora", "debian"] + compatible_hosts = ["fedora", "debian", "almalinux"] def get_cross_config(self): return { diff --git a/kiwixbuild/configs/native.py b/kiwixbuild/configs/native.py index 3d72e953..ce1611e4 100644 --- a/kiwixbuild/configs/native.py +++ b/kiwixbuild/configs/native.py @@ -29,16 +29,16 @@ def arch_name(self): class NativeDyn(NativeConfigInfo): name = "native_dyn" static = False - compatible_hosts = ["fedora", "debian", "Darwin"] + compatible_hosts = ["fedora", "debian", "Darwin", "almalinux"] class NativeStatic(NativeConfigInfo): name = "native_static" static = True - compatible_hosts = ["fedora", "debian", "Darwin"] + compatible_hosts = ["fedora", "debian", "Darwin", "almalinux"] class NativeMixed(MixedMixin("native_static"), NativeConfigInfo): name = "native_mixed" static = False - compatible_hosts = ["fedora", "debian", "Darwin"] + compatible_hosts = ["fedora", "debian", "Darwin", "almalinux"]