forked from espressif/esp-at
-
Notifications
You must be signed in to change notification settings - Fork 0
130 lines (123 loc) · 6.5 KB
/
build_template_esp32.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
name: Reusable esp32-at workflow template
on:
workflow_call:
# parameters from upstream workflow
inputs:
module_name:
required: true
type: string
artifacts_name:
required: true
type: string
# parameters from upstream inherit
secrets:
AT_OTA_TOKEN_WROOM32:
required: false
AT_OTA_TOKEN_WROVER32:
required: false
AT_OTA_TOKEN_ESP32_PICO_D4:
required: false
AT_OTA_TOKEN_ESP32_SOLO_1:
required: false
AT_OTA_TOKEN_ESP32_MINI_1:
required: false
jobs:
build-template-esp32:
runs-on: ubuntu-latest
steps:
- uses: actions/[email protected]
- uses: actions/[email protected]
with:
python-version: '3.10'
- name: Configure prerequisites
run: |
# set module information
silence_mode=1
silence_sdkconfig=module_config/module_wrover-32/sdkconfig_silence.defaults
mkdir build
echo -e "{\"platform\": \"PLATFORM_ESP32\", \"module\": \"${{ inputs.module_name }}\", \"silence\": ${silence_mode}}" > build/module_info.json
if ${{ inputs.artifacts_name == 'esp32-at-all-function-test-without-bt' }}; then
echo -e "CONFIG_AT_FS_COMMAND_SUPPORT=y" >> ${silence_sdkconfig}
echo -e "CONFIG_AT_EAP_COMMAND_SUPPORT=y" >> ${silence_sdkconfig}
echo -e "CONFIG_AT_DRIVER_COMMAND_SUPPORT=y" >> ${silence_sdkconfig}
echo -e "CONFIG_AT_WEB_SERVER_SUPPORT=y" >> ${silence_sdkconfig}
echo -e "CONFIG_AT_WS_COMMAND_SUPPORT=y" >> ${silence_sdkconfig}
echo -e "CONFIG_AT_WEB_CAPTIVE_PORTAL_ENABLE=y" >> ${silence_sdkconfig}
# disable BT
echo -e "CONFIG_AT_BLE_COMMAND_SUPPORT=n" >> ${silence_sdkconfig}
echo -e "CONFIG_AT_BLE_HID_COMMAND_SUPPORT=n" >> ${silence_sdkconfig}
echo -e "CONFIG_AT_BLUFI_COMMAND_SUPPORT=n" >> ${silence_sdkconfig}
echo -e "CONFIG_AT_BT_COMMAND_SUPPORT=n" >> ${silence_sdkconfig}
# enlarge partition table
app0_size=`cat module_config/module_wrover-32/partitions_at.csv | grep ota_0 | awk -F, '{print $5}'`
app1_size=`cat module_config/module_wrover-32/partitions_at.csv | grep ota_1 | awk -F, '{print $5}'`
to_set_size=$((app0_size + app1_size))
sed -i '/ota_1/d' module_config/module_wrover-32/partitions_at.csv
to_set_hex_size=`printf "0x%x" ${to_set_size}`
sed -i '/ota_0/s,'"$app0_size"','"$to_set_hex_size"',g' module_config/module_wrover-32/partitions_at.csv
fi
if ${{ inputs.artifacts_name == 'esp32-at-all-function-test-just-bt' }}; then
# enable BT
echo -e "CONFIG_AT_BT_COMMAND_SUPPORT=y" >> ${silence_sdkconfig}
echo -e "CONFIG_AT_BT_SPP_COMMAND_SUPPORT=y" >> ${silence_sdkconfig}
echo -e "CONFIG_AT_BT_A2DP_COMMAND_SUPPORT=y" >> ${silence_sdkconfig}
# disable non BT
echo -e "CONFIG_AT_FS_COMMAND_SUPPORT=n" >> ${silence_sdkconfig}
echo -e "CONFIG_AT_ETHERNET_SUPPORT=n" >> ${silence_sdkconfig}
echo -e "CONFIG_AT_EAP_COMMAND_SUPPORT=n" >> ${silence_sdkconfig}
echo -e "CONFIG_AT_DRIVER_COMMAND_SUPPORT=n" >> ${silence_sdkconfig}
echo -e "CONFIG_AT_WEB_SERVER_SUPPORT=n" >> ${silence_sdkconfig}
echo -e "CONFIG_AT_WEB_CAPTIVE_PORTAL_ENABLE=n" >> ${silence_sdkconfig}
echo -e "CONFIG_AT_OTA_SUPPORT=n" >> ${silence_sdkconfig}
echo -e "CONFIG_AT_MDNS_COMMAND_SUPPORT=n" >> ${silence_sdkconfig}
echo -e "CONFIG_AT_WPS_COMMAND_SUPPORT=n" >> ${silence_sdkconfig}
echo -e "CONFIG_AT_SMARTCONFIG_COMMAND_SUPPORT=n" >> ${silence_sdkconfig}
echo -e "CONFIG_AT_PING_COMMAND_SUPPORT=n" >> ${silence_sdkconfig}
echo -e "CONFIG_AT_MQTT_COMMAND_SUPPORT=n" >> ${silence_sdkconfig}
echo -e "CONFIG_AT_HTTP_COMMAND_SUPPORT=n" >> ${silence_sdkconfig}
echo -e "CONFIG_AT_SIGNALING_COMMAND_SUPPORT=n" >> ${silence_sdkconfig}
echo -e "CONFIG_ESP_WIFI_SLP_IRAM_OPT=n" >> ${silence_sdkconfig}
# enlarge partition table
app0_size=`cat module_config/module_wrover-32/partitions_at.csv | grep ota_0 | awk -F, '{print $5}'`
app1_size=`cat module_config/module_wrover-32/partitions_at.csv | grep ota_1 | awk -F, '{print $5}'`
to_set_size=$((app0_size + app1_size))
sed -i '/ota_1/d' module_config/module_wrover-32/partitions_at.csv
to_set_hex_size=`printf "0x%x" ${to_set_size}`
sed -i '/ota_0/s,'"$app0_size"','"$to_set_hex_size"',g' module_config/module_wrover-32/partitions_at.csv
fi
# update esp32 ota token
cd components/at/private_include
rm -f at_ota_token.h
echo -e "#pragma once" >> at_ota_token.h
echo -e "#define CONFIG_ESP_AT_OTA_TOKEN_WROOM32 \"${{ secrets.AT_OTA_TOKEN_WROOM32 }}\"" >> at_ota_token.h
echo -e "#define CONFIG_ESP_AT_OTA_SSL_TOKEN_WROOM32 \"${{ secrets.AT_OTA_TOKEN_WROOM32 }}\"" >> at_ota_token.h
echo -e "#define CONFIG_ESP_AT_OTA_TOKEN_WROVER32 \"${{ secrets.AT_OTA_TOKEN_WROVER32 }}\"" >> at_ota_token.h
echo -e "#define CONFIG_ESP_AT_OTA_SSL_TOKEN_WROVER32 \"${{ secrets.AT_OTA_TOKEN_WROVER32 }}\"" >> at_ota_token.h
echo -e "#define CONFIG_ESP_AT_OTA_TOKEN_ESP32_PICO_D4 \"${{ secrets.AT_OTA_TOKEN_ESP32_PICO_D4 }}\"" >> at_ota_token.h
echo -e "#define CONFIG_ESP_AT_OTA_SSL_TOKEN_ESP32_PICO_D4 \"${{ secrets.AT_OTA_TOKEN_ESP32_PICO_D4 }}\"" >> at_ota_token.h
echo -e "#define CONFIG_ESP_AT_OTA_TOKEN_ESP32_SOLO_1 \"${{ secrets.AT_OTA_TOKEN_ESP32_SOLO_1 }}\"" >> at_ota_token.h
echo -e "#define CONFIG_ESP_AT_OTA_SSL_TOKEN_ESP32_SOLO_1 \"${{ secrets.AT_OTA_TOKEN_ESP32_SOLO_1 }}\"" >> at_ota_token.h
echo -e "#define CONFIG_ESP_AT_OTA_TOKEN_ESP32_MINI_1 \"${{ secrets.AT_OTA_TOKEN_ESP32_MINI_1 }}\"" >> at_ota_token.h
echo -e "#define CONFIG_ESP_AT_OTA_SSL_TOKEN_ESP32_MINI_1 \"${{ secrets.AT_OTA_TOKEN_ESP32_MINI_1 }}\"" >> at_ota_token.h
cd -
- name: Install ESP-IDF environment variables
run: |
./build.py install
- name: Compile
run: |
./build.py build
- name: Upload artifacts
uses: actions/[email protected]
with:
name: ${{ inputs.artifacts_name }}
path: |
sdkconfig
build/*.bin
build/*.elf
build/*.map
build/bootloader/*.bin
build/partition_table/*.bin
build/customized_partitions/*
build/flasher_args.json
build/download.config
build/factory/*