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
|
||||
strategy:
|
||||
matrix:
|
||||
idf_ver: ["latest"]
|
||||
idf_ver: ["latest", "release-v5.3"]
|
||||
runs-on: ubuntu-20.04
|
||||
container: espressif/idf:${{ matrix.idf_ver }}
|
||||
steps:
|
||||
@ -33,7 +33,7 @@ jobs:
|
||||
name: Build WiFi Remote Test
|
||||
strategy:
|
||||
matrix:
|
||||
idf_ver: ["latest"]
|
||||
idf_ver: ["latest", "release-v5.3"]
|
||||
test: [ { app: smoke_test, path: "test/smoke_test" }]
|
||||
runs-on: ubuntu-20.04
|
||||
container: espressif/idf:${{ matrix.idf_ver }}
|
||||
@ -49,6 +49,7 @@ jobs:
|
||||
run: |
|
||||
. ${IDF_PATH}/export.sh
|
||||
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
|
||||
|
||||
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"
|
||||
INCLUDE_DIRS "include"
|
||||
set(IDF_VER_DIR "idf_v$ENV{ESP_IDF_VERSION}")
|
||||
|
||||
idf_component_register(SRCS "${IDF_VER_DIR}/esp_hosted_mock.c"
|
||||
INCLUDE_DIRS "${IDF_VER_DIR}/include" "include"
|
||||
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"
|
||||
INCLUDE_DIRS ".")
|
||||
set(IDF_VER_DIR "idf_v$ENV{ESP_IDF_VERSION}")
|
||||
|
||||
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