diff --git a/.github/scripts/build_definition.py b/.github/scripts/build_definition.py index 75caeb8..b00ee09 100644 --- a/.github/scripts/build_definition.py +++ b/.github/scripts/build_definition.py @@ -12,6 +12,7 @@ import csv, io, re # 'P' letter means that (build) project must be publish when we do a release. # (This is used to avoid two publication of the same archive) # 'S' letter means that source code must be publish (almost by definition, S should be put only with a P) +# '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 | PLATFORM_TARGET | libzim | libkiwix | zim-tools | kiwix-tools | kiwix-desktop | @@ -31,7 +32,7 @@ BUILD_DEF = """ | macos | macOS_x86_64 | B | B | | | | ---------------------------------------------------------------------------------------------- | | flatpak | | | | | BP | - | | native_static | d | d | dBPS | dBPS | | + | | native_static | d | d | dBPSD | dBPSD | | | | native_dyn | d | d | dB | dB | BPS | | | native_mixed | BPS | BPS | | | | # libzim CI is building alpine_dyn but not us @@ -102,6 +103,7 @@ BUILD = "B" PUBLISH = "P" SOURCE_PUBLISH = "S" DEPS = "d" +DOCKER = "D" def select_build_targets(criteria): from common import PLATFORM_TARGET, OS_NAME diff --git a/.github/scripts/build_release_nightly.py b/.github/scripts/build_release_nightly.py index 88eada3..7f71cd1 100755 --- a/.github/scripts/build_release_nightly.py +++ b/.github/scripts/build_release_nightly.py @@ -19,7 +19,7 @@ from common import ( notarize_macos_build, ) -from build_definition import select_build_targets, BUILD, PUBLISH, SOURCE_PUBLISH +from build_definition import select_build_targets, BUILD, PUBLISH, SOURCE_PUBLISH, DOCKER @@ -30,8 +30,10 @@ if MAKE_RELEASE: def release_filter(project): return release_versions.get(project) is not None TARGETS = tuple(filter(release_filter, TARGETS)) + docker_trigger = select_build_targets(DOCKER) else: TARGETS = select_build_targets(BUILD) + docker_trigger = [] for target in TARGETS: run_kiwix_build(target, platform=PLATFORM_TARGET, make_release=MAKE_RELEASE) @@ -44,7 +46,7 @@ for target in TARGETS: archive = make_archive(target, make_release=MAKE_RELEASE) if archive: upload_archive(archive, target, make_release=MAKE_RELEASE) - if MAKE_RELEASE and target in ("zim-tools", "kiwix-tools"): + if target in docker_trigger: trigger_docker_publish(target) # We have few more things to do for release: