294 lines
10 KiB
YAML
294 lines
10 KiB
YAML
.build_template: &build_template
|
|
stage: build
|
|
tags:
|
|
- build
|
|
image: ${IMAGE}
|
|
variables:
|
|
# Enable ccache for all build jobs. See configure_ci_environment.sh for more ccache related settings.
|
|
IDF_CCACHE_ENABLE: "1"
|
|
BATCH_BUILD: "1"
|
|
V: "0"
|
|
WARNING_STR: ""
|
|
|
|
.build_examples_template: &build_examples_template
|
|
<<: *build_template
|
|
artifacts:
|
|
when: always
|
|
paths:
|
|
- "**/build*/size.json"
|
|
- "**/build*/build_log.txt"
|
|
- "**/build*/*.bin"
|
|
- "**/build*/*.map"
|
|
- "**/build*/*.elf"
|
|
- "**/build*/flasher_args.json"
|
|
- "**/build*/flash_args"
|
|
- "**/build*/flash_project_args"
|
|
- "**/build*/config/sdkconfig.json"
|
|
- "**/build*/bootloader/*.bin"
|
|
- "**/build*/bootloader/*.elf"
|
|
- "**/build*/partition_table/*.bin"
|
|
- "**/build*/mmap_build/*.bin"
|
|
- "**/build*/**/*.bin"
|
|
- size_info.txt
|
|
expire_in: 1 week
|
|
variables:
|
|
IDF_CI_BUILD: "1"
|
|
# By configuring this macro, you can append the compiled configuration file.
|
|
# For example, using "sdkconf.etc=default" specifies the default sdkconfig file.
|
|
EXAMPLE_CONFIG: "sdkconfig.defaults=defaults;sdkconfig.ci.*=;=defaults"
|
|
EXAMPLE_TARGET: "all"
|
|
script:
|
|
- pip list | grep idf-component-manager
|
|
- pip install --upgrade "idf-component-manager"
|
|
- pip install idf_build_apps
|
|
- python .gitlab/tools/build_apps.py ${EXAMPLE_DIR} --config ${EXAMPLE_CONFIG} -t ${EXAMPLE_TARGET} -vv
|
|
|
|
.build_examples_template_without_large_artifacts: &build_examples_template_without_large_artifacts
|
|
<<: *build_template
|
|
artifacts:
|
|
when: always
|
|
paths:
|
|
- "**/build*/size.json"
|
|
- "**/build*/build_log.txt"
|
|
- "**/build*/*.bin"
|
|
# Too large, temporarily not uploaded
|
|
# - "**/build*/*.map"
|
|
# - "**/build*/*.elf"
|
|
- "**/build*/flasher_args.json"
|
|
- "**/build*/flash_args"
|
|
- "**/build*/flash_project_args"
|
|
- "**/build*/config/sdkconfig.json"
|
|
- "**/build*/bootloader/*.bin"
|
|
- "**/build*/bootloader/*.elf"
|
|
- "**/build*/partition_table/*.bin"
|
|
- "**/build*/mmap_build/*.bin"
|
|
- "**/build*/**/*.bin"
|
|
- size_info.txt
|
|
expire_in: 1 week
|
|
variables:
|
|
IDF_CI_BUILD: "1"
|
|
# By configuring this macro, you can append the compiled configuration file.
|
|
# For example, using "sdkconf.etc=default" specifies the default sdkconfig file.
|
|
EXAMPLE_CONFIG: "sdkconfig.defaults=defaults;sdkconfig.ci.*=;=defaults"
|
|
EXAMPLE_TARGET: "all"
|
|
script:
|
|
- pip list | grep idf-component-manager
|
|
- pip install --upgrade "idf-component-manager"
|
|
- pip install idf_build_apps
|
|
- python .gitlab/tools/build_apps.py ${EXAMPLE_DIR} --config ${EXAMPLE_CONFIG} -t ${EXAMPLE_TARGET} -vv
|
|
|
|
# Target ESP-IDF versions
|
|
.build_esp32_s3_idf_release_version:
|
|
parallel:
|
|
matrix:
|
|
- IMAGE: espressif/idf:release-v5.4
|
|
- IMAGE: espressif/idf:release-v5.5
|
|
|
|
.build_esp32_p4_idf_release_version:
|
|
parallel:
|
|
matrix:
|
|
- IMAGE: espressif/idf:release-v5.4
|
|
- IMAGE: espressif/idf:release-v5.5
|
|
|
|
.build_speaker_idf_release_version:
|
|
parallel:
|
|
matrix:
|
|
- IMAGE: espressif/idf:release-v5.5
|
|
|
|
.build_brookesia_components_idf_release_version:
|
|
parallel:
|
|
matrix:
|
|
- IMAGE: espressif/idf:release-v5.5
|
|
|
|
# Test Apps
|
|
# brookesia_lib_utils: check
|
|
build_test_apps_brookesia_lib_utils_check:
|
|
extends:
|
|
- .build_examples_template
|
|
- .build_brookesia_components_idf_release_version
|
|
- .rules:build:test_apps_brookesia_lib_utils_check
|
|
variables:
|
|
EXAMPLE_DIR: utils/brookesia_lib_utils/test_apps/check
|
|
# brookesia_lib_utils: function_guard
|
|
build_test_apps_brookesia_lib_utils_function_guard:
|
|
extends:
|
|
- .build_examples_template
|
|
- .build_brookesia_components_idf_release_version
|
|
- .rules:build:test_apps_brookesia_lib_utils_function_guard
|
|
variables:
|
|
EXAMPLE_DIR: utils/brookesia_lib_utils/test_apps/function_guard
|
|
# brookesia_lib_utils: describe_helpers
|
|
build_test_apps_brookesia_lib_utils_describe_helpers:
|
|
extends:
|
|
- .build_examples_template
|
|
- .build_brookesia_components_idf_release_version
|
|
- .rules:build:test_apps_brookesia_lib_utils_describe_helpers
|
|
variables:
|
|
EXAMPLE_DIR: utils/brookesia_lib_utils/test_apps/describe_helpers
|
|
# brookesia_lib_utils: log
|
|
build_test_apps_brookesia_lib_utils_log:
|
|
extends:
|
|
- .build_examples_template
|
|
- .build_brookesia_components_idf_release_version
|
|
- .rules:build:test_apps_brookesia_lib_utils_log
|
|
variables:
|
|
EXAMPLE_DIR: utils/brookesia_lib_utils/test_apps/log
|
|
# brookesia_lib_utils: memory_profiler
|
|
build_test_apps_brookesia_lib_utils_memory_profiler:
|
|
extends:
|
|
- .build_examples_template
|
|
- .build_brookesia_components_idf_release_version
|
|
- .rules:build:test_apps_brookesia_lib_utils_memory_profiler
|
|
variables:
|
|
EXAMPLE_DIR: utils/brookesia_lib_utils/test_apps/memory_profiler
|
|
# brookesia_lib_utils: plugin
|
|
build_test_apps_brookesia_lib_utils_plugin:
|
|
extends:
|
|
- .build_examples_template
|
|
- .build_brookesia_components_idf_release_version
|
|
- .rules:build:test_apps_brookesia_lib_utils_plugin
|
|
variables:
|
|
EXAMPLE_DIR: utils/brookesia_lib_utils/test_apps/plugin
|
|
# brookesia_lib_utils: state_machine
|
|
build_test_apps_brookesia_lib_utils_state_machine:
|
|
extends:
|
|
- .build_examples_template
|
|
- .build_brookesia_components_idf_release_version
|
|
- .rules:build:test_apps_brookesia_lib_utils_state_machine
|
|
variables:
|
|
EXAMPLE_DIR: utils/brookesia_lib_utils/test_apps/state_machine
|
|
# brookesia_lib_utils: task_scheduler
|
|
build_test_apps_brookesia_lib_utils_task_scheduler:
|
|
extends:
|
|
- .build_examples_template
|
|
- .build_brookesia_components_idf_release_version
|
|
- .rules:build:test_apps_brookesia_lib_utils_task_scheduler
|
|
variables:
|
|
EXAMPLE_DIR: utils/brookesia_lib_utils/test_apps/task_scheduler
|
|
# brookesia_lib_utils: thread_config
|
|
build_test_apps_brookesia_lib_utils_thread_config:
|
|
extends:
|
|
- .build_examples_template
|
|
- .build_brookesia_components_idf_release_version
|
|
- .rules:build:test_apps_brookesia_lib_utils_thread_config
|
|
variables:
|
|
EXAMPLE_DIR: utils/brookesia_lib_utils/test_apps/thread_config
|
|
# brookesia_lib_utils: thread_profiler
|
|
build_test_apps_brookesia_lib_utils_thread_profiler:
|
|
extends:
|
|
- .build_examples_template
|
|
- .build_brookesia_components_idf_release_version
|
|
- .rules:build:test_apps_brookesia_lib_utils_thread_profiler
|
|
variables:
|
|
EXAMPLE_DIR: utils/brookesia_lib_utils/test_apps/thread_profiler
|
|
# brookesia_lib_utils: time_profiler
|
|
build_test_apps_brookesia_lib_utils_time_profiler:
|
|
extends:
|
|
- .build_examples_template
|
|
- .build_brookesia_components_idf_release_version
|
|
- .rules:build:test_apps_brookesia_lib_utils_time_profiler
|
|
variables:
|
|
EXAMPLE_DIR: utils/brookesia_lib_utils/test_apps/time_profiler
|
|
# brookesia_service_manager
|
|
build_test_apps_brookesia_service_manager:
|
|
extends:
|
|
- .build_examples_template
|
|
- .build_brookesia_components_idf_release_version
|
|
- .rules:build:test_apps_brookesia_service_manager
|
|
variables:
|
|
EXAMPLE_DIR: service/brookesia_service_manager/test_apps
|
|
# brookesia_service_custom
|
|
build_test_apps_brookesia_service_custom:
|
|
extends:
|
|
- .build_examples_template
|
|
- .build_brookesia_components_idf_release_version
|
|
- .rules:build:test_apps_brookesia_service_custom
|
|
variables:
|
|
EXAMPLE_DIR: service/brookesia_service_custom/test_apps
|
|
# brookesia_service_nvs
|
|
build_test_apps_brookesia_service_nvs:
|
|
extends:
|
|
- .build_examples_template
|
|
- .build_brookesia_components_idf_release_version
|
|
- .rules:build:test_apps_brookesia_service_nvs
|
|
variables:
|
|
EXAMPLE_DIR: service/brookesia_service_nvs/test_apps
|
|
# brookesia_service_sntp
|
|
build_test_apps_brookesia_service_sntp:
|
|
extends:
|
|
- .build_examples_template
|
|
- .build_brookesia_components_idf_release_version
|
|
- .rules:build:test_apps_brookesia_service_sntp
|
|
variables:
|
|
EXAMPLE_DIR: service/brookesia_service_sntp/test_apps
|
|
# brookesia_service_wifi
|
|
build_test_apps_brookesia_service_wifi:
|
|
extends:
|
|
- .build_examples_template
|
|
- .build_brookesia_components_idf_release_version
|
|
- .rules:build:test_apps_brookesia_service_wifi
|
|
variables:
|
|
EXAMPLE_DIR: service/brookesia_service_wifi/test_apps
|
|
|
|
# Examples
|
|
# service_console
|
|
build_examples_service_console:
|
|
extends:
|
|
- .build_examples_template_without_large_artifacts
|
|
- .rules:build:examples_service_console
|
|
# Using `-t all` directly will cause configuration failures for S3-related boards, so it is necessary to build them separately
|
|
parallel:
|
|
matrix:
|
|
- IMAGE: espressif/idf:release-v5.5
|
|
EXAMPLE_TARGET: "esp32s3"
|
|
EXAMPLE_CONFIG: "sdkconfig.defaults=defaults;sdkconfig.ci.board.*=;=defaults"
|
|
- IMAGE: espressif/idf:release-v5.5
|
|
EXAMPLE_TARGET: "esp32p4"
|
|
EXAMPLE_CONFIG: "sdkconfig.defaults=defaults;sdkconfig.ci.board.*=;=defaults"
|
|
- IMAGE: espressif/idf:release-v5.5
|
|
EXAMPLE_TARGET: "esp32c5"
|
|
EXAMPLE_CONFIG: "sdkconfig.defaults=defaults;sdkconfig.ci.board.*=;=defaults"
|
|
variables:
|
|
EXAMPLE_DIR: examples/service_console
|
|
|
|
# Products
|
|
# build_product_phone_m5stack_core_s3:
|
|
# extends:
|
|
# - .build_examples_template
|
|
# - .build_esp32_s3_idf_release_version
|
|
# - .rules:build:products_phone_m5stack_core_s3
|
|
# variables:
|
|
# EXAMPLE_DIR: products/phone/phone_m5stack_core_s3
|
|
|
|
# build_product_phone_p4_function_ev_board:
|
|
# extends:
|
|
# - .build_examples_template
|
|
# - .build_esp32_p4_idf_release_version
|
|
# - .rules:build:products_phone_p4_function_ev_board
|
|
# variables:
|
|
# EXAMPLE_DIR: products/phone/phone_p4_function_ev_board
|
|
|
|
# build_product_phone_s3_box_3:
|
|
# extends:
|
|
# - .build_examples_template
|
|
# - .build_esp32_s3_idf_release_version
|
|
# - .rules:build:products_phone_s3_box_3
|
|
# variables:
|
|
# EXAMPLE_DIR: products/phone/phone_s3_box_3
|
|
|
|
# build_product_phone_s3_lcd_ev_board:
|
|
# extends:
|
|
# - .build_examples_template
|
|
# - .build_esp32_s3_idf_release_version
|
|
# - .rules:build:products_phone_s3_lcd_ev_board
|
|
# variables:
|
|
# EXAMPLE_DIR: products/phone/phone_s3_lcd_ev_board
|
|
|
|
build_product_speaker:
|
|
extends:
|
|
- .build_examples_template
|
|
- .build_speaker_idf_release_version
|
|
- .rules:build:products_speaker
|
|
variables:
|
|
EXAMPLE_DIR: products/speaker
|