@@ -107,13 +107,21 @@ jobs:
107107 needs : compile_tests
108108 runs-on : ubuntu-24.04
109109 container : emscripten/emsdk
110+ strategy :
111+ fail-fast : false
112+ matrix :
113+ include :
114+ - mbedtls_label : " mbedtls3"
115+ mbedtls_git_tag : " v3.6.3.1"
116+ - mbedtls_label : " mbedtls4"
117+ mbedtls_git_tag : " v4.0.0"
110118
111119 steps :
112120 - name : Checkout repo
113121 uses : actions/checkout@v4
114122
115123 - name : " Install deps"
116- run : sudo apt update -y && sudo apt install -y cmake gperf
124+ run : sudo apt update -y && sudo apt install -y cmake gperf python3-jinja2 python3-jsonschema
117125
118126 - name : Build
119127 shell : bash
@@ -122,7 +130,7 @@ jobs:
122130 set -euo pipefail
123131 mkdir build
124132 cd build
125- emcmake cmake ..
133+ emcmake cmake .. -DAVM_FETCH_MBEDTLS_GIT_TAG=${{ matrix.mbedtls_git_tag }}
126134 emmake make -j
127135
128136 - name : Download AtomVM and test modules
@@ -147,7 +155,7 @@ jobs:
147155 node src/AtomVM.js ../../../../build/tests/erlang_tests/test_crypto.beam
148156
149157 - name : " Rename and write sha256sum (node)"
150- if : startsWith(github.ref, 'refs/tags/')
158+ if : startsWith(github.ref, 'refs/tags/') && matrix.mbedtls_label == 'mbedtls3'
151159 shell : bash
152160 working-directory : src/platforms/emscripten/build/src
153161 run : |
@@ -160,7 +168,7 @@ jobs:
160168
161169 - name : " Release (node)"
162170 uses : softprops/action-gh-release@v1
163- if : startsWith(github.ref, 'refs/tags/')
171+ if : startsWith(github.ref, 'refs/tags/') && matrix.mbedtls_label == 'mbedtls3'
164172 with :
165173 draft : true
166174 fail_on_unmatched_files : true
@@ -181,14 +189,20 @@ jobs:
181189 strategy :
182190 fail-fast : false
183191 matrix :
184- language : ["javascript-typescript"]
192+ include :
193+ - language : " javascript-typescript"
194+ mbedtls_label : " mbedtls3"
195+ mbedtls_git_tag : " v3.6.3.1"
196+ - language : " javascript-typescript"
197+ mbedtls_label : " mbedtls4"
198+ mbedtls_git_tag : " v4.0.0"
185199
186200 steps :
187201 - name : Checkout repo
188202 uses : actions/checkout@v4
189203
190204 - name : " Install deps"
191- run : sudo apt update -y && sudo apt install -y cmake gperf
205+ run : sudo apt update -y && sudo apt install -y cmake gperf python3-jinja2 python3-jsonschema
192206
193207 - name : " Initialize CodeQL"
194208 uses : github/codeql-action/init@v3
@@ -204,7 +218,7 @@ jobs:
204218 set -euo pipefail
205219 mkdir build
206220 cd build
207- emcmake cmake .. -DAVM_EMSCRIPTEN_ENV=web
221+ emcmake cmake .. -DAVM_EMSCRIPTEN_ENV=web -DAVM_FETCH_MBEDTLS_GIT_TAG=${{ matrix.mbedtls_git_tag }}
208222 emmake make -j
209223
210224 - name : " Perform CodeQL Analysis"
@@ -213,7 +227,7 @@ jobs:
213227 - name : Upload wasm build for web
214228 uses : actions/upload-artifact@v4
215229 with :
216- name : atomvm-js-web
230+ name : atomvm-js-web-${{ matrix.mbedtls_label }}
217231 path : |
218232 src/platforms/emscripten/build/**/*.wasm
219233 src/platforms/emscripten/build/**/*.js
@@ -222,6 +236,12 @@ jobs:
222236 wasm_test_web :
223237 needs : [compile_tests, wasm_build_web]
224238 runs-on : ubuntu-24.04
239+ strategy :
240+ fail-fast : false
241+ matrix :
242+ include :
243+ - mbedtls_label : " mbedtls3"
244+ - mbedtls_label : " mbedtls4"
225245 steps :
226246 - name : Checkout repo
227247 uses : actions/checkout@v4
@@ -235,7 +255,7 @@ jobs:
235255 - name : Download wasm build for web
236256 uses : actions/download-artifact@v4
237257 with :
238- name : atomvm-js-web
258+ name : atomvm-js-web-${{ matrix.mbedtls_label }}
239259 path : src/platforms/emscripten/build
240260
241261 - name : Download emscripten test modules
@@ -270,7 +290,7 @@ jobs:
270290 retention-days : 7
271291
272292 - name : " Rename and write sha256sum (web)"
273- if : startsWith(github.ref, 'refs/tags/')
293+ if : startsWith(github.ref, 'refs/tags/') && matrix.mbedtls_label == 'mbedtls3'
274294 shell : bash
275295 working-directory : src/platforms/emscripten/build/src
276296 run : |
@@ -283,7 +303,7 @@ jobs:
283303
284304 - name : " Release (web)"
285305 uses : softprops/action-gh-release@v1
286- if : startsWith(github.ref, 'refs/tags/')
306+ if : startsWith(github.ref, 'refs/tags/') && matrix.mbedtls_label == 'mbedtls3'
287307 with :
288308 draft : true
289309 fail_on_unmatched_files : true
0 commit comments