Rdzleo dbdd304905 代码初始化:
本项目为触摸版项目代码复制而来,基于此版本进行按键功能的适配!
2026-03-23 11:14:56 +08:00

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