Skip to content

Commit 50366f7

Browse files
committed
Build WireGuard with Github Actions
1 parent 32fbce4 commit 50366f7

File tree

4 files changed

+34
-8
lines changed

4 files changed

+34
-8
lines changed

.github/workflows/build-ovms.yml

Lines changed: 31 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -22,12 +22,14 @@ jobs:
2222
matrix:
2323
# idf_ver: ["latest", "release-v5.1", "release-v5.0", "v5.0.1", "v5.0"]
2424
# idf_ver: ["release-v5.0", "v5.0.1", "v5.0", "release-v4.4", "v4.4.4", "v3.3.4"]
25-
idf_ver: ["latest", "release-v5.1", "release-v5.0", "v5.0.1", "v5.0", "release-v4.4", "v3.3.4"]
25+
# idf_ver: ["latest", "release-v5.1", "release-v5.0", "v5.0.1", "v5.0", "release-v4.4", "v3.3.4"]
26+
idf_ver: ["release-v5.0", "v5.0.2", "v5.0.1", "v5.0", "release-v4.4", "v3.3.4"] # v3.3.4 is our own fork / special handling
2627
idf_target: ["esp32"]
28+
mongoose_ver: ["6.11"] # 6.11 is our own fork / special handling
2729
include:
2830

2931
# All the following items are 'default' values for ALL the matrix entries
30-
- patch_mongoose: true
32+
- patch_mongoose_6_11: true
3133
build_command: "idf.py build"
3234
sdkconfig: "sdkconfig.defaults.esp5.0.1"
3335
patch_esp_idf_ovms: false
@@ -44,18 +46,18 @@ jobs:
4446

4547
# - idf_ver: "v4.4.4"
4648
# sdkconfig: "sdkconfig.defaults.esp4"
47-
# patch_mongoose: false
49+
# patch_mongoose_6_11: false
4850
# patch_esp_idf_whole_archive: true
4951

5052
# - idf_ver: "v3.3.6"
5153
# build_command: "make -j all"
52-
# patch_mongoose: false
54+
# patch_mongoose_6_11: false
5355
# force_wolfssl_470: true
5456

5557
- idf_ver: "v3.3.4"
5658
build_command: "TERM=vt100 make defconfig all"
5759
sdkconfig: "sdkconfig.defaults.esp3"
58-
patch_mongoose: false
60+
patch_mongoose_6_11: false
5961
patch_esp_idf_ovms: true
6062
# force_wolfssl_470: false
6163

@@ -118,9 +120,24 @@ jobs:
118120

119121
# For ESP-IDF v5+ builds, we need to patch our "old" version of mongoose
120122
- name: 'Patch mongoose (ESP-IDF v5+)'
121-
if: matrix.patch_mongoose
123+
if: |
124+
matrix.patch_mongoose_6_11 &&
125+
(matrix.mongoose_ver == '6.11')
122126
run: 'git apply --directory="vehicle/OVMS.V3/components/mongoose/mongoose" "vehicle/OVMS.V3/support/mongoose-espv5.patch"'
123127

128+
# For Mongose >= 7, we checkout this specific version
129+
- name: 'Switch mongoose dir'
130+
if: |
131+
(matrix.mongoose_ver != '6.11')
132+
run: |
133+
cd "vehicle/OVMS.V3/components/mongoose/mongoose"
134+
git remote set-url origin "https://github.com/cesanta/mongoose.git"
135+
git fetch --all
136+
git reset --hard
137+
git clean -fxd
138+
git checkout "${{ matrix.mongoose_ver }}"
139+
cd -
140+
124141
# For older builds (3.3.x), we need to switch back to the (official) wolfssl version that
125142
# was used in those builds + patch it and update the build system
126143
# - name: 'Patch WolfSSL (ESP-IDF v3) with OVMS tweaks'
@@ -137,14 +154,20 @@ jobs:
137154
- name: 'Setup configuration'
138155
run: 'cp "vehicle/OVMS.V3/support/${{ matrix.sdkconfig }}" "vehicle/OVMS.V3/sdkconfig.defaults"'
139156

157+
- name: 'Patch configuration for Mongoose 6.11 (SSL cannot compile)'
158+
if: |
159+
matrix.patch_mongoose_6_11 &&
160+
(matrix.mongoose_ver == '6.11')
161+
run: 'sed -i -e "s/CONFIG_MG_ENABLE_SSL=y/#CONFIG_MG_ENABLE_SSL=/g" "vehicle/OVMS.V3/sdkconfig.defaults"'
162+
140163
- name: Cache build dependencies
141164
id: esp-idf-build
142165
uses: actions/cache@v3
143166
with:
144167
path: |
145168
vehicle/OVMS.V3/build
146169
vehicle/OVMS.V3/sdkconfig
147-
key: build-${{ runner.os }}-${{ matrix.idf_target }}_esp-idf-${{ matrix.idf_ver }}
170+
key: build-${{ runner.os }}-${{ matrix.idf_target }}_esp-idf-${{ matrix.idf_ver }}_mg-${{ matrix.mongoose_ver }}
148171

149172
# Now, we can build it. Let's not forget to install `dos2unix` first as it is needed.
150173
- name: 'Build project with IDF-${{ matrix.idf_ver }} for ${{ matrix.idf_target }}'
@@ -165,7 +188,7 @@ jobs:
165188
- name: 'Archive build output artifacts'
166189
uses: 'actions/upload-artifact@v3'
167190
with:
168-
name: '${{ matrix.idf_target }}_esp-idf-${{ matrix.idf_ver }}'
191+
name: '${{ matrix.idf_target }}_esp-idf-${{ matrix.idf_ver }}_mongoose-${{ matrix.mongoose_ver }}'
169192
path: |
170193
vehicle/OVMS.V3/build/bootloader/bootloader.bin
171194
vehicle/OVMS.V3/build/partition_table/partition-table.bin

vehicle/OVMS.V3/support/sdkconfig.defaults.esp4

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -129,3 +129,4 @@ CONFIG_SPIRAM_TYPE_AUTO=y
129129
CONFIG_SPIRAM_USE_CAPS_ALLOC=y
130130

131131
CONFIG_OVMS_DEV_NETMANAGER_PING=y
132+
CONFIG_OVMS_COMP_WIREGUARD=y

vehicle/OVMS.V3/support/sdkconfig.defaults.esp5

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -74,3 +74,4 @@ CONFIG_SPIRAM_USE_CAPS_ALLOC=y
7474
CONFIG_XTAL_FREQ_AUTO=y
7575

7676
CONFIG_OVMS_DEV_NETMANAGER_PING=y
77+
CONFIG_OVMS_COMP_WIREGUARD=y

vehicle/OVMS.V3/support/sdkconfig.defaults.esp5.0.1

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -73,3 +73,4 @@ CONFIG_SPIRAM_USE_CAPS_ALLOC=y
7373
CONFIG_XTAL_FREQ_AUTO=y
7474

7575
CONFIG_OVMS_DEV_NETMANAGER_PING=y
76+
CONFIG_OVMS_COMP_WIREGUARD=y

0 commit comments

Comments
 (0)