From b905e872804bbd89d2fa27be6eddc8dd45d5c0f6 Mon Sep 17 00:00:00 2001 From: Matthieu Gautier Date: Wed, 12 Apr 2023 11:21:59 +0200 Subject: [PATCH 1/2] Fix compilation on CI macOS We don't want to compile zim-tools on macOS_arm64_dynamic. --- .github/scripts/build_release_nightly.py | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/.github/scripts/build_release_nightly.py b/.github/scripts/build_release_nightly.py index 7cc0f5a..3c2d51f 100755 --- a/.github/scripts/build_release_nightly.py +++ b/.github/scripts/build_release_nightly.py @@ -22,7 +22,9 @@ from common import ( notarize_macos_build, ) -if PLATFORM_TARGET.startswith("android_") or PLATFORM_TARGET.startswith("iOS"): +if (PLATFORM_TARGET.startswith("android_") + or PLATFORM_TARGET.startswith("iOS") + or PLATFORM_TARGET.startswith("macOS")): TARGETS = ("libzim", "libkiwix") elif PLATFORM_TARGET.startswith("native_"): if OS_NAME == "osx": @@ -37,8 +39,8 @@ elif PLATFORM_TARGET.startswith("native_"): TARGETS = ("libzim", "libkiwix") else: TARGETS = ("zim-tools", "kiwix-tools") -elif PLATFORM_TARGET in ("win32_static", "armhf_static", "aarch64_static", "i586_static"): - TARGETS = ("zim-tools", "kiwix-tools",) +elif PLATFORM_TARGET in ("win32_static", "armhf_static", "armhf_dyn", "aarch64_static", "aarch64_dyn", "i586_static"): + TARGETS = ("zim-tools", "kiwix-tools") elif PLATFORM_TARGET == "flatpak": TARGETS = ("kiwix-desktop",) elif PLATFORM_TARGET in ("wasm", "armhf_mixed", "aarch64_mixed"): From 4b8862a95935ba1b9de94c2945de2459cf833437 Mon Sep 17 00:00:00 2001 From: Matthieu Gautier Date: Wed, 12 Apr 2023 11:25:43 +0200 Subject: [PATCH 2/2] Use only one code to determine what to build. As we build the "same"[*] things with build_project and build_release_nightly, let's use the same code. [*] We are not building the same things has we don't run the same runners (not the same `PLATFORM_TARGET`) but for a given `PLATFORM_TARGET`, we are building the same things. --- .github/scripts/build_projects.py | 56 ++++++++++++++---------- .github/scripts/build_release_nightly.py | 29 ++---------- 2 files changed, 35 insertions(+), 50 deletions(-) diff --git a/.github/scripts/build_projects.py b/.github/scripts/build_projects.py index 81b4990..c84ed30 100755 --- a/.github/scripts/build_projects.py +++ b/.github/scripts/build_projects.py @@ -9,35 +9,43 @@ from common import ( upload_archive, OS_NAME, PLATFORM_TARGET, - DESKTOP, DEV_BRANCH, ) -if (PLATFORM_TARGET.startswith("android_") - or PLATFORM_TARGET.startswith("iOS") - or PLATFORM_TARGET.startswith("macOS")): - TARGETS = ("libzim", "libkiwix") -elif PLATFORM_TARGET.startswith("native_"): - if OS_NAME == "osx": - if PLATFORM_TARGET.endswith("_mixed"): - TARGETS = ("libzim", "libkiwix") + +def select_build_target(): + from common import ( + PLATFORM_TARGET, + DESKTOP, + OS_NAME + ) + if (PLATFORM_TARGET.startswith("android_") + or PLATFORM_TARGET.startswith("iOS") + or PLATFORM_TARGET.startswith("macOS")): + return ("libzim", "libkiwix") + elif PLATFORM_TARGET.startswith("native_"): + if OS_NAME == "osx": + if PLATFORM_TARGET.endswith("_mixed"): + return ("libzim", "libkiwix") + else: + return ("zim-tools", ) else: - TARGETS = ("zim-tools", ) + if DESKTOP: + return ("kiwix-desktop",) + elif PLATFORM_TARGET == "native_mixed": + return ("libzim", "libkiwix") + else: + return ("zim-tools", "kiwix-tools") + elif PLATFORM_TARGET in ("win32_static", "armhf_static", "armhf_dyn", "aarch64_static", "aarch64_dyn", "i586_static"): + return ("zim-tools", "kiwix-tools") + elif PLATFORM_TARGET == "flatpak": + return ("kiwix-desktop",) + elif PLATFORM_TARGET in ("wasm", "armhf_mixed", "aarch64_mixed"): + return ("libzim", ) else: - if DESKTOP: - TARGETS = ("kiwix-desktop",) - elif PLATFORM_TARGET == "native_mixed": - TARGETS = ("libzim", "libkiwix") - else: - TARGETS = ("zim-tools", "kiwix-tools") -elif PLATFORM_TARGET in ("win32_static", "armhf_static", "armhf_dyn", "aarch64_static", "aarch64_dyn", "i586_static"): - TARGETS = ("zim-tools", "kiwix-tools") -elif PLATFORM_TARGET == "flatpak": - TARGETS = ("kiwix-desktop",) -elif PLATFORM_TARGET in ("wasm", "armhf_mixed", "aarch64_mixed"): - TARGETS = ("libzim", ) -else: - TARGETS = ("libzim", "zim-tools", "libkiwix", "kiwix-tools") + return ("libzim", "zim-tools", "libkiwix", "kiwix-tools") + +TARGETS = select_build_target() for target in TARGETS: run_kiwix_build(target, platform=PLATFORM_TARGET) diff --git a/.github/scripts/build_release_nightly.py b/.github/scripts/build_release_nightly.py index 3c2d51f..e7e176e 100755 --- a/.github/scripts/build_release_nightly.py +++ b/.github/scripts/build_release_nightly.py @@ -17,36 +17,13 @@ from common import ( HOME, OS_NAME, PLATFORM_TARGET, - DESKTOP, MAKE_RELEASE, notarize_macos_build, ) -if (PLATFORM_TARGET.startswith("android_") - or PLATFORM_TARGET.startswith("iOS") - or PLATFORM_TARGET.startswith("macOS")): - TARGETS = ("libzim", "libkiwix") -elif PLATFORM_TARGET.startswith("native_"): - if OS_NAME == "osx": - if PLATFORM_TARGET.endswith("_mixed"): - TARGETS = ("libzim", "libkiwix") - else: - TARGETS = ("zim-tools", ) - else: - if DESKTOP: - TARGETS = ("kiwix-desktop",) - elif PLATFORM_TARGET == "native_mixed": - TARGETS = ("libzim", "libkiwix") - else: - TARGETS = ("zim-tools", "kiwix-tools") -elif PLATFORM_TARGET in ("win32_static", "armhf_static", "armhf_dyn", "aarch64_static", "aarch64_dyn", "i586_static"): - TARGETS = ("zim-tools", "kiwix-tools") -elif PLATFORM_TARGET == "flatpak": - TARGETS = ("kiwix-desktop",) -elif PLATFORM_TARGET in ("wasm", "armhf_mixed", "aarch64_mixed"): - TARGETS = ("libzim", ) -else: - TARGETS = ("libzim", "zim-tools", "libkiwix", "kiwix-tools") +from build_projects import select_build_target + +TARGETS = select_build_target() # Filter what to build if we are doing a release. if MAKE_RELEASE: