.all_targets: &all_targets - esp32 - esp32s2 - esp32s3 - esp32c3 .target_test: &target_test - example_test - custom_test - unit_test - component_ut ############## # Build Jobs # ############## "build": labels: - build patterns: - build_components - build_system included_in: - build:target_test # ------------------- # Specific Build Jobs # ------------------- "build:docker": labels: - build - docker patterns: - docker "build:windows": labels: - build - windows patterns: - build_system - windows "build:macos": labels: - build - macos - macos_test # for backward compatibility patterns: - build_system - macos # --------------- # Build Test Jobs # --------------- "build:{0}-{1}": matrix: - *target_test - *all_targets labels: - build patterns: - build_components - build_system included_in: - "build:{0}" - build:target_test build:integration_test: labels: - build patterns: - build_components - build_system included_in: - build:target_test #################### # Target Test Jobs # #################### "test:{0}-{1}": matrix: - *target_test - *all_targets labels: # For each rule, use labels and - - "{0}" - "{0}_{1}" - target_test patterns: # For each rule, use patterns and build- - "{0}" - "build-{0}" included_in: # Parent rules - "build:{0}" - "build:{0}-{1}" - build:target_test # ------------- # Special Cases # ------------- "test:component_ut-{0}": # component_ut will trigger by unit_test as well, since now we have 2 kinds of UT matrix: - *all_targets labels: - component_ut - "component_ut_{0}" - unit_test - "unit_test_{0}" - target_test patterns: - component_ut - "build-component_ut-{0}" included_in: - build:component_ut - "build:component_ut-{0}" - build:target_test "test:integration_test": labels: - integration_test - target_test patterns: - integration_test included_in: - build:integration_test - build:target_test "test:host_test": labels: - host_test patterns: - host_test "test:submodule": labels: - submodule patterns: - submodule ################################# # Triggered Only By Labels Jobs # ################################# "labels:iperf_stress_test": # example_test labels: - iperf_stress_test included_in: - build:example_test - build:example_test-esp32 - build:target_test "labels:weekend_test": # custom test labels: - weekend_test included_in: - build:custom_test - build:custom_test-esp32 - build:target_test "labels:nvs_coverage": # host_test labels: - nvs_coverage "labels:fuzzer_test-weekend_test": # host test labels: - fuzzer_test - weekend_test