Merge branch 'ci/optimize_protocol_examples_build_rules' into 'master'

CI: add dependencies to protocol exampels

See merge request espressif/esp-idf!28155
This commit is contained in:
Chen Yu Dong
2024-01-12 16:05:24 +08:00
2 changed files with 93 additions and 104 deletions

View File

@@ -1,38 +1,32 @@
# Documentation: .gitlab/ci/README.md#manifest-file-to-control-the-buildtest-apps
.ethernet_dependencies: &ethernet_dependencies
# TODO: IDFCI-1821
.default_dependencies: &default_dependencies
depends_filepatterns:
- tools/ci/python_packages/common_test_methods.py
- components/esp_netif/esp_netif_handlers.c
.wifi_dependencies: &wifi_dependencies
depends_filepatterns:
- tools/ci/python_packages/common_test_methods.py
- examples/common_components/protocol_examples_common/**/*
- examples/protocols/**/*
- examples/wifi/**/*
- examples/network/simple_sniffer/**/*
- components/mbedtls/port/dynamic/*
- examples/system/ota/**/*
depends_components:
- app_update
- esp_https_ota
- lwip
- esp_netif
- esp_wifi
- esp_phy
- esp_eth
- mbedtls
examples/protocols/esp_http_client:
<<: *default_dependencies
enable:
- if: INCLUDE_DEFAULT == 1 or IDF_TARGET == "linux"
disable_test:
- if: IDF_TARGET not in ["esp32", "linux"]
temporary: true
reason: only test on esp32
disable:
- if: IDF_TARGET == "esp32p4"
temporary: true
reason: not supported on p4
<<: *ethernet_dependencies
depends_filepatterns:
- examples/common_components/protocol_examples_common/**/*
- components/esp_http_client/**/*
examples/protocols/esp_local_ctrl:
<<: *default_dependencies
disable:
- if: SOC_WIFI_SUPPORTED != 1
- if: IDF_TARGET in ["esp32h2"]
@@ -40,246 +34,267 @@ examples/protocols/esp_local_ctrl:
reason: not supported on p4
disable_test:
- if: IDF_TARGET not in ["esp32", "esp32c3", "esp32s3"]
temporary: true
reason: lack of runners
<<: *wifi_dependencies
reason: only test on these targets
depends_filepatterns:
- examples/common_components/protocol_examples_common/**/*
- components/protocomm/**/*
- tools/esp_prov/**/*
examples/protocols/http_request:
<<: *default_dependencies
disable:
- if: IDF_TARGET == "esp32p4"
temporary: true
reason: not supported on p4 # TODO: IDF-8076
disable_test:
- if: IDF_TARGET != "esp32"
temporary: true
reason: only test on esp32
<<: *ethernet_dependencies
examples/protocols/http_server:
<<: *default_dependencies
disable:
- if: IDF_TARGET == "esp32p4"
temporary: true
reason: not supported on p4 # TODO: IDF-8076
disable_test:
- if: IDF_TARGET not in ["esp32", "esp32c3", "esp32s3"]
temporary: true
reason: lack of runners
<<: *wifi_dependencies
reason: only test on these targets
depends_filepatterns:
- examples/common_components/protocol_examples_common/**/*
- components/esp_http_server/**/*
examples/protocols/http_server/captive_portal:
<<: *default_dependencies
disable:
- if: IDF_TARGET in ["esp32h2", "esp32p4"]
temporary: true
reason: not supported on p4 # TODO: IDF-8076
disable_test:
- if: IDF_TARGET != "esp32"
temporary: true
reason: only test on esp32
<<: *wifi_dependencies
depends_filepatterns:
- examples/common_components/protocol_examples_common/**/*
- components/esp_http_server/**/*
examples/protocols/http_server/restful_server:
<<: *default_dependencies
disable:
- if: IDF_TARGET in ["esp32h2", "esp32p4"]
temporary: true
reason: not supported on p4 # TODO: IDF-8076
<<: *wifi_dependencies
depends_filepatterns:
- examples/common_components/protocol_examples_common/**/*
- components/esp_http_server/**/*
examples/protocols/http_server/ws_echo_server:
<<: *default_dependencies
disable:
- if: IDF_TARGET == "esp32p4"
temporary: true
reason: not supported on p4 # TODO: IDF-8076
disable_test:
- if: IDF_TARGET != "esp32"
temporary: true
reason: only test on esp32
<<: *wifi_dependencies
depends_filepatterns:
- examples/common_components/protocol_examples_common/**/*
- components/esp_http_server/**/*
examples/protocols/https_mbedtls:
<<: *default_dependencies
disable:
- if: IDF_TARGET == "esp32p4"
temporary: true
reason: not supported on p4 # TODO: IDF-8076
disable_test:
- if: IDF_TARGET != "esp32"
temporary: true
reason: lack of runners
<<: *ethernet_dependencies
reason: only test on esp32
examples/protocols/https_request:
<<: *default_dependencies
disable:
- if: IDF_TARGET == "esp32p4"
temporary: true
reason: not supported on p4 # TODO: IDF-8076
disable_test:
- if: IDF_TARGET != "esp32"
temporary: true
reason: lack of runners
<<: *ethernet_dependencies
reason: only test on esp32
examples/protocols/https_server/simple:
<<: *default_dependencies
disable:
- if: IDF_TARGET == "esp32p4"
temporary: true
reason: not supported on p4 # TODO: IDF-8076
disable_test:
- if: IDF_TARGET not in ["esp32", "esp32c3", "esp32s3"]
temporary: true
reason: lack of runners
<<: *wifi_dependencies
reason: only test on these targets
depends_filepatterns:
- examples/common_components/protocol_examples_common/**/*
- components/esp_https_server/**/*
- components/esp_tls/**/*
examples/protocols/https_server/wss_server:
<<: *default_dependencies
disable:
- if: IDF_TARGET == "esp32p4"
temporary: true
reason: not supported on p4 # TODO: IDF-8076
disable_test:
- if: IDF_TARGET != "esp32"
temporary: true
reason: only test on esp32
<<: *wifi_dependencies
depends_filepatterns:
- examples/common_components/protocol_examples_common/**/*
- components/esp_https_server/**/*
examples/protocols/https_x509_bundle:
<<: *default_dependencies
disable:
- if: IDF_TARGET == "esp32p4"
temporary: true
reason: not supported on p4 # TODO: IDF-8076
disable_test:
- if: IDF_TARGET != "esp32"
temporary: true
reason: lack of runners
<<: *ethernet_dependencies
reason: only test on esp32
depends_filepatterns:
- examples/common_components/protocol_examples_common/**/*
- components/esp_tls/**/*
examples/protocols/icmp_echo:
<<: *default_dependencies
disable:
- if: IDF_TARGET == "esp32p4"
temporary: true
reason: not supported on p4
disable_test:
- if: SOC_WIFI_SUPPORTED != 1
<<: *wifi_dependencies
examples/protocols/l2tap:
<<: *default_dependencies
disable:
- if: IDF_TARGET == "esp32p4"
temporary: true
reason: not supported on p4
disable_test:
- if: IDF_TARGET != "esp32"
temporary: true
reason: lack of runners
reason: only test on esp32
examples/protocols/modbus:
<<: *default_dependencies
disable:
- if: IDF_TARGET == "esp32p4"
temporary: true
reason: not supported on p4 # TODO: IDF-7869
depends_filepatterns:
- examples/common_components/protocol_examples_common/**/*
- examples/protocols/modbus/mb_example_common/**/*
examples/protocols/mqtt:
<<: *default_dependencies
disable:
- if: IDF_TARGET == "esp32p4"
temporary: true
reason: not supported on p4 # TODO: IDF-8077
depends_filepatterns:
- examples/common_components/protocol_examples_common/**/*
- components/mqtt/**/*
examples/protocols/mqtt/custom_outbox:
<<: *default_dependencies
disable:
- if: IDF_TARGET == "esp32p4"
temporary: true
reason: not supported on p4 # TODO: IDF-8077
examples/protocols/mqtt/ssl:
<<: *default_dependencies
disable:
- if: IDF_TARGET == "esp32p4"
temporary: true
reason: not supported on p4 # TODO: IDF-8077
disable_test:
- if: IDF_TARGET != "esp32"
temporary: true
reason: lack of runners
<<: *ethernet_dependencies
reason: only test on esp32
examples/protocols/mqtt/ssl_ds:
<<: *default_dependencies
disable:
- if: SOC_DIG_SIGN_SUPPORTED != 1 or IDF_TARGET == "esp32p4" # TODO: IDF-8077
temporary: false
reason: DS not present
examples/protocols/mqtt/ssl_mutual_auth:
disable:
- if: IDF_TARGET == "esp32p4"
temporary: true
reason: not supported on p4 # TODO: IDF-8077
examples/protocols/mqtt/ssl_psk:
disable:
- if: IDF_TARGET == "esp32p4"
temporary: true
reason: not supported on p4 # TODO: IDF-8077
examples/protocols/mqtt/tcp:
<<: *default_dependencies
disable:
- if: IDF_TARGET == "esp32p4"
temporary: true
reason: not supported on p4 # TODO: IDF-8077
disable_test:
- if: IDF_TARGET != "esp32"
temporary: true
reason: lack of runners
<<: *ethernet_dependencies
reason: only test on esp32
examples/protocols/mqtt/ws:
<<: *default_dependencies
disable:
- if: IDF_TARGET == "esp32p4"
temporary: true
reason: not supported on p4 # TODO: IDF-8077
disable_test:
- if: IDF_TARGET != "esp32"
temporary: true
reason: lack of runners
<<: *ethernet_dependencies
reason: only test on esp32
examples/protocols/mqtt/wss:
<<: *default_dependencies
disable:
- if: IDF_TARGET == "esp32p4"
temporary: true
reason: not supported on p4 # TODO: IDF-8077
disable_test:
- if: IDF_TARGET != "esp32"
temporary: true
reason: lack of runners
<<: *ethernet_dependencies
reason: only test on esp32
examples/protocols/mqtt5:
<<: *default_dependencies
disable:
- if: IDF_TARGET == "esp32p4"
temporary: true
reason: not supported on p4 # TODO: IDF-8077
disable_test:
- if: IDF_TARGET != "esp32"
temporary: true
reason: lack of runners
<<: *ethernet_dependencies
reason: only test on esp32
examples/protocols/smtp_client:
<<: *default_dependencies
disable:
- if: IDF_TARGET == "esp32p4"
temporary: true
reason: not supported on p4
examples/protocols/sntp:
<<: *default_dependencies
enable:
- if: IDF_TARGET == "esp32"
temporary: true
reason: the other targets are not tested yet
<<: *wifi_dependencies
examples/protocols/sockets:
<<: *default_dependencies
disable:
- if: IDF_TARGET == "esp32p4"
temporary: true
reason: not supported on p4
disable_test:
- if: SOC_WIFI_SUPPORTED != 1
examples/protocols/sockets/non_blocking:
<<: *default_dependencies
disable_test:
- if: IDF_TARGET != "esp32"
temporary: true
reason: lack of runners
examples/protocols/sockets/tcp_client:
<<: *default_dependencies
disable_test:
- if: SOC_WIFI_SUPPORTED != 1
# linux target won't work with CONFIG_EXAMPLE_SOCKET_IP_INPUT_STDIN=y
@@ -287,36 +302,9 @@ examples/protocols/sockets/tcp_client:
- if: IDF_TARGET == "esp32p4"
temporary: true
reason: not supported on p4
<<: *wifi_dependencies
examples/protocols/sockets/tcp_server:
disable:
- if: IDF_TARGET == "esp32p4"
temporary: true
reason: not supported on p4
disable_test:
- if: SOC_WIFI_SUPPORTED != 1
<<: *wifi_dependencies
examples/protocols/sockets/udp_client:
disable:
- if: IDF_TARGET == "esp32p4"
temporary: true
reason: not supported on p4
disable_test:
- if: SOC_WIFI_SUPPORTED != 1
<<: *wifi_dependencies
examples/protocols/sockets/udp_server:
disable:
- if: IDF_TARGET == "esp32p4"
temporary: true
reason: not supported on p4
disable_test:
- if: SOC_WIFI_SUPPORTED != 1
<<: *wifi_dependencies
examples/protocols/static_ip:
<<: *default_dependencies
disable:
- if: IDF_TARGET in ["esp32h2"]
- if: IDF_TARGET == "esp32p4"

View File

@@ -70,6 +70,7 @@ def test_captive_page(ip: str, port: str, uri: str) -> bool:
@pytest.mark.esp32
@pytest.mark.wifi_wlan
@pytest.mark.temp_skip_ci(targets=['esp32'], reason='unstable case')
@pytest.mark.xfail(reason='Runner unable to connect to target over WiFi', run=False)
def test_example_captive_portal(dut: Dut) -> None: