@@ -14,6 +14,7 @@ workflow:
14
14
variables :
15
15
ESP_MATTER_PATH : " $CI_PROJECT_DIR"
16
16
BR_PATH : " $CI_PROJECT_DIR/esp-thread-br"
17
+ ESP_RMAKER_PATH : " $CI_PROJECT_DIR/esp-rainmaker"
17
18
IDF_GITHUB_ASSETS : " dl.espressif.com/github_assets"
18
19
GIT_STRATEGY : fetch
19
20
GIT_SUBMODULE_STRATEGY : none
@@ -94,6 +95,11 @@ variables:
94
95
- cd ${ESP_MATTER_PATH}
95
96
- . ./export.sh
96
97
98
+ .setup_rainmaker : &setup_rainmaker
99
+ - cd ${CI_PROJECT_DIR}
100
+ - git clone --depth 1 --recurse-submodules --shallow-submodules https://github.com/espressif/esp-rainmaker.git
101
+ - cd ${ESP_RMAKER_PATH}/examples/matter/
102
+
97
103
.build_matter_examples : &build_matter_examples
98
104
- export MATTER_EXAMPLES_PATH=$ESP_MATTER_PATH/connectedhomeip/connectedhomeip/examples
99
105
- cd $MATTER_EXAMPLES_PATH/all-clusters-app/esp32
@@ -528,6 +534,49 @@ build_managed_component_light:
528
534
- idf.py set-target esp32c3
529
535
- idf.py build
530
536
537
+ build_esp_rainmaker_apps :
538
+ stage : build
539
+ image : ${DOCKER_IMAGE_NAME}:chip_${CHIP_SHORT_HASH}_idf_${IDF_CHECKOUT_REF}
540
+ allow_failure : false
541
+
542
+ tags :
543
+ - build
544
+
545
+ needs :
546
+ - job : build_image
547
+ optional : true
548
+
549
+ artifacts :
550
+ paths :
551
+ - ${ESP_RMAKER_PATH}/examples/matter/*/*build/*.bin
552
+ when : always
553
+ expire_in : 1 week
554
+
555
+ before_script :
556
+ - *setup_idf
557
+ - *setup_matter
558
+ - *setup_rainmaker
559
+ script :
560
+ - cd ${ESP_RMAKER_PATH}/examples/matter/matter_light
561
+ - idf.py set-target esp32c3 build
562
+
563
+ - cd ${ESP_RMAKER_PATH}/examples/matter/matter_switch
564
+ # Flash overflows on esp32c6, few optimizations
565
+ - echo "CONFIG_ESP_MATTER_MAX_DYNAMIC_ENDPOINT_COUNT=2" >> sdkconfig.defaults.esp32c6
566
+ - echo "CONFIG_NEWLIB_NANO_FORMAT=y" >> sdkconfig.defaults.esp32c6
567
+ - echo "CONFIG_ENABLE_CHIP_SHELL=n" >> sdkconfig.defaults.esp32c6
568
+ - idf.py set-target esp32c6 build
569
+
570
+ # just build controller example
571
+ - cd ${ESP_RMAKER_PATH}/examples/matter/matter_controller
572
+ - idf.py set-target esp32s3 build
573
+ - rm -rf sdkconfig
574
+
575
+ # build controller with TBR support
576
+ # thread lib changed the default number of ipv6 addresses to 12 so match that in the controller example
577
+ - echo "CONFIG_LWIP_IPV6_NUM_ADDRESSES=12" >> sdkconfig.defaults.otbr
578
+ - idf.py -D SDKCONFIG_DEFAULTS="sdkconfig.defaults.otbr" -B ot_br_build set-target esp32s3 build
579
+
531
580
build_docs :
532
581
stage : build
533
582
image : $CI_DOCKER_REGISTRY/esp-idf-doc-env-v5.1:1-1
0 commit comments