This is an automated email from the ASF dual-hosted git repository.

sjanc pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/mynewt-nimble.git

commit 91c408c32451fce018d07c0c8e5f2501f54e8d51
Author: Szymon Janc <[email protected]>
AuthorDate: Wed Oct 14 00:54:54 2026 +0200

    ci: Add support for splitting apps build into shards
    
    Applications build script builds all applications sequentially in
    single job, each of them twice (with default and all-enabled config).
    Add support for building only applications assigned to selected shard
    (SHARD_INDEX of SHARD_TOTAL) so that build can be split between
    multiple CI jobs. By default everything is built, as before.
    
    Assisted-by: Claude:claude-opus-5-5
---
 .github/test_build_apps.sh | 11 +++++++++++
 1 file changed, 11 insertions(+)

diff --git a/.github/test_build_apps.sh b/.github/test_build_apps.sh
index cbf25cfff..f723614c9 100755
--- a/.github/test_build_apps.sh
+++ b/.github/test_build_apps.sh
@@ -19,6 +19,12 @@
 
 EXIT_CODE=0
 
+# Build only items assigned to this shard (for splitting build between
+# CI jobs), by default everything is built.
+SHARD_INDEX=${SHARD_INDEX:-0}
+SHARD_TOTAL=${SHARD_TOTAL:-1}
+ITEM_INDEX=0
+
 APPS=$(basename -a `ls -d repos/apache-mynewt-nimble/apps/*/`)
 
 IGNORED_APPS="mesh_badge"
@@ -31,6 +37,11 @@ for app in ${APPS}; do
         continue
     fi
 
+    ITEM_INDEX=$((ITEM_INDEX + 1))
+    if [ $(( (ITEM_INDEX - 1) % SHARD_TOTAL )) -ne $SHARD_INDEX ]; then
+        continue
+    fi
+
     echo "Testing $app"
 
     target="test-$app"

Reply via email to