2020 outputs :
2121 hosts : ${{ steps.matrix.outputs.hosts }}
2222 containers : ${{ steps.matrix.outputs.containers }}
23+ emscriptens : ${{ steps.matrix.outputs.emscriptens }}
2324
2425 steps :
2526 - name : Define Matrix
5758 20: 'ubuntu-latest',
5859 21: 'ubuntu-latest'
5960 }
61+ emscripten_versions = [
62+ '3.1.74',
63+ '4.0.15',
64+ ]
6065
6166 hosts = []
6267 containers=[]
68+ emscriptens=[]
69+
6370
6471 #macOS
6572 for runon, xcode in macos_map.items():
8592 for clang, runon in clang_map.items():
8693 hosts.append({'os': runon, 'compiler': 'clang', 'version': clang, 'jobname': f'Linux - Clang{clang}'})
8794
95+ #emscripten
96+ for emscripten in emscripten_versions:
97+ emscriptens.append({'version': emscripten, 'jobname': f'Emscripten - {emscripten}'})
98+
8899 with open(os.environ['GITHUB_OUTPUT'], 'w') as env:
89100 print('hosts=' + json.dumps(hosts), file=env)
90101 print('containers=' + json.dumps(containers), file=env)
102+ print('emscriptens=' + json.dumps(emscriptens), file=env)
91103
92104 desktop :
93105 needs : define-matrix
@@ -193,7 +205,7 @@ jobs:
193205 - name : Configure
194206 shell : bash
195207 run : |
196- cmake -S . -B out -DCMAKE_BUILD_TYPE=MinSizeRel
208+ cmake -GNinja - S . -B out -DCMAKE_BUILD_TYPE=MinSizeRel
197209
198210 - name : Build and Test
199211 shell : bash
@@ -284,8 +296,14 @@ jobs:
284296 echo "::endgroup::"
285297
286298 emscripten :
299+ needs : define-matrix
300+ name : ${{ matrix.jobname }}
287301 runs-on : ubuntu-latest
288- container : emscripten/emsdk:3.1.70
302+ container : emscripten/emsdk:${{ matrix.version }}
303+ strategy :
304+ fail-fast : false
305+ matrix :
306+ include : ${{ fromJSON(needs.define-matrix.outputs.emscriptens) }}
289307
290308 steps :
291309 - name : Checkout
@@ -306,7 +324,7 @@ jobs:
306324
307325 - name : Configure
308326 shell : bash
309- run : cmake -S . -B out -DCMAKE_TOOLCHAIN_FILE=$EMSDK/upstream/emscripten/cmake/Modules/Platform/Emscripten.cmake -DCMAKE_BUILD_TYPE=MinSizeRel
327+ run : cmake -GNinja - S . -B out -DCMAKE_TOOLCHAIN_FILE=$EMSDK/upstream/emscripten/cmake/Modules/Platform/Emscripten.cmake -DCMAKE_BUILD_TYPE=MinSizeRel
310328
311329
312330 - name : Build and Test
0 commit comments