mirror of
https://github.com/espressif/esp-protocols.git
synced 2025-06-25 17:31:33 +02:00
fix(wifi_remote): Fix CI builds to generate configs per slave selection
Rather than keeping sdkconfig.ci.*** for the smoke tests in git
This commit is contained in:
5
.github/workflows/wifi_remote__build.yml
vendored
5
.github/workflows/wifi_remote__build.yml
vendored
@ -13,7 +13,7 @@ jobs:
|
|||||||
name: Check API compatibility of WiFi Remote
|
name: Check API compatibility of WiFi Remote
|
||||||
strategy:
|
strategy:
|
||||||
matrix:
|
matrix:
|
||||||
idf_ver: ["latest"]
|
idf_ver: ["latest", "release-v5.3"]
|
||||||
runs-on: ubuntu-20.04
|
runs-on: ubuntu-20.04
|
||||||
container: espressif/idf:${{ matrix.idf_ver }}
|
container: espressif/idf:${{ matrix.idf_ver }}
|
||||||
steps:
|
steps:
|
||||||
@ -33,7 +33,7 @@ jobs:
|
|||||||
name: Build WiFi Remote Test
|
name: Build WiFi Remote Test
|
||||||
strategy:
|
strategy:
|
||||||
matrix:
|
matrix:
|
||||||
idf_ver: ["latest"]
|
idf_ver: ["latest", "release-v5.3"]
|
||||||
test: [ { app: smoke_test, path: "test/smoke_test" }]
|
test: [ { app: smoke_test, path: "test/smoke_test" }]
|
||||||
runs-on: ubuntu-20.04
|
runs-on: ubuntu-20.04
|
||||||
container: espressif/idf:${{ matrix.idf_ver }}
|
container: espressif/idf:${{ matrix.idf_ver }}
|
||||||
@ -49,6 +49,7 @@ jobs:
|
|||||||
run: |
|
run: |
|
||||||
. ${IDF_PATH}/export.sh
|
. ${IDF_PATH}/export.sh
|
||||||
pip install idf-component-manager idf-build-apps --upgrade
|
pip install idf-component-manager idf-build-apps --upgrade
|
||||||
|
python ./scripts/generate_slave_configs.py ./components/esp_wifi_remote/${{matrix.test.path}}
|
||||||
python ./ci/build_apps.py ./components/esp_wifi_remote/${{matrix.test.path}} -vv --preserve-all
|
python ./ci/build_apps.py ./components/esp_wifi_remote/${{matrix.test.path}} -vv --preserve-all
|
||||||
|
|
||||||
build_wifi_remote_example:
|
build_wifi_remote_example:
|
||||||
|
32
components/esp_wifi_remote/scripts/generate_slave_configs.py
Normal file
32
components/esp_wifi_remote/scripts/generate_slave_configs.py
Normal file
@ -0,0 +1,32 @@
|
|||||||
|
# SPDX-FileCopyrightText: 2024 Espressif Systems (Shanghai) CO LTD
|
||||||
|
# SPDX-License-Identifier: Apache-2.0
|
||||||
|
import os
|
||||||
|
import re
|
||||||
|
import sys
|
||||||
|
|
||||||
|
if len(sys.argv) < 2:
|
||||||
|
print('Usage: python generate_slave_configs.py <output_directory>')
|
||||||
|
sys.exit(1)
|
||||||
|
output_directory = sys.argv[1]
|
||||||
|
|
||||||
|
# Input Kconfig file
|
||||||
|
kconfig_file = f"idf_v{os.getenv('ESP_IDF_VERSION')}/Kconfig.slave_select.in"
|
||||||
|
|
||||||
|
# Output file prefix
|
||||||
|
output_prefix = 'sdkconfig.ci.'
|
||||||
|
|
||||||
|
# Regex pattern to match all available options for SLAVE_IDF_TARGET
|
||||||
|
pattern = r'^ *config SLAVE_IDF_TARGET_(\w+)'
|
||||||
|
|
||||||
|
# Read the Kconfig and generate specific sdkconfig.ci.{slave} for each option
|
||||||
|
with open(kconfig_file, 'r') as file:
|
||||||
|
for line in file:
|
||||||
|
match = re.match(pattern, line)
|
||||||
|
if match:
|
||||||
|
slave = match.group(1)
|
||||||
|
output_file = os.path.join(output_directory, f'{output_prefix}{slave.lower()}')
|
||||||
|
|
||||||
|
with open(output_file, 'w') as out_file:
|
||||||
|
out_file.write(f'CONFIG_SLAVE_IDF_TARGET_{slave.upper()}=y\n')
|
||||||
|
|
||||||
|
print(f'Generated: {output_file}')
|
@ -1,3 +1,5 @@
|
|||||||
idf_component_register(SRCS "esp_hosted_mock.c"
|
set(IDF_VER_DIR "idf_v$ENV{ESP_IDF_VERSION}")
|
||||||
INCLUDE_DIRS "include"
|
|
||||||
|
idf_component_register(SRCS "${IDF_VER_DIR}/esp_hosted_mock.c"
|
||||||
|
INCLUDE_DIRS "${IDF_VER_DIR}/include" "include"
|
||||||
REQUIRES esp_wifi esp_wifi_remote)
|
REQUIRES esp_wifi esp_wifi_remote)
|
||||||
|
@ -1,2 +1,6 @@
|
|||||||
idf_component_register(SRCS "smoke_test.c" "all_wifi_calls.c" "all_wifi_remote_calls.c"
|
set(IDF_VER_DIR "idf_v$ENV{ESP_IDF_VERSION}")
|
||||||
INCLUDE_DIRS ".")
|
|
||||||
|
idf_component_register(SRCS "smoke_test.c"
|
||||||
|
"${IDF_VER_DIR}/all_wifi_calls.c"
|
||||||
|
"${IDF_VER_DIR}/all_wifi_remote_calls.c"
|
||||||
|
INCLUDE_DIRS ".")
|
||||||
|
Reference in New Issue
Block a user