@@ -337,9 +337,13 @@ jobs:
337337 - os : ubuntu-20.04
338338 wasi_sdk_release : " https://github.com/WebAssembly/wasi-sdk/releases/download/wasi-sdk-19/wasi-sdk-19.0-linux.tar.gz"
339339 wabt_release : " https://github.com/WebAssembly/wabt/releases/download/1.0.31/wabt-1.0.31-ubuntu.tar.gz"
340+ wasi_sdk_folder_name : " wasi-sdk-19.0"
341+ wasi_sysroot_option : " -DWASI_SYSROOT=`pwd`/../../../core/deps/wasi-libc/sysroot"
340342 - os : ubuntu-22.04
341- wasi_sdk_release : " https://github.com/WebAssembly/wasi-sdk/releases/download/wasi-sdk-19 /wasi-sdk-19.0 -linux.tar.gz"
343+ wasi_sdk_release : " https://github.com/WebAssembly/wasi-sdk/releases/download/wasi-sdk-20%2Bthreads /wasi-sdk-20.0.threads -linux.tar.gz"
342344 wabt_release : " https://github.com/WebAssembly/wabt/releases/download/1.0.31/wabt-1.0.31-ubuntu.tar.gz"
345+ wasi_sdk_folder_name : " wasi-sdk-20.0+threads"
346+ wasi_sysroot_option : " "
343347 steps :
344348 - name : checkout
345349 uses : actions/checkout@v3
@@ -349,7 +353,7 @@ jobs:
349353 cd /opt
350354 sudo wget ${{ matrix.wasi_sdk_release }}
351355 sudo tar -xzf wasi-sdk-*.tar.gz
352- sudo mv wasi-sdk-19.0 wasi-sdk
356+ sudo mv ${{ matrix.wasi_sdk_folder_name }} wasi-sdk
353357
354358 - name : download and install wabt
355359 run : |
@@ -359,6 +363,7 @@ jobs:
359363 sudo mv wabt-1.0.31 wabt
360364
361365 - name : build wasi-libc (needed for wasi-threads)
366+ if : matrix.os == 'ubuntu-20.04'
362367 run : |
363368 mkdir wasi-libc
364369 cd wasi-libc
@@ -431,15 +436,22 @@ jobs:
431436 run : |
432437 cd samples/wasi-threads
433438 mkdir build && cd build
434- cmake -DWASI_SYSROOT=`pwd`/../../../core/deps/wasi-libc/sysroot ..
439+ cmake ${{ matrix.wasi_sysroot_option }} ..
435440 cmake --build . --config Release --parallel 4
436441 ./iwasm wasm-apps/no_pthread.wasm
437442
438443 test :
439- needs : [build_iwasm, build_llvm_libraries_on_ubuntu_2004, build_wamrc]
440- runs-on : ubuntu-20.04
444+ needs :
445+ [
446+ build_iwasm,
447+ build_llvm_libraries_on_ubuntu_2004,
448+ build_llvm_libraries_on_ubuntu_2204,
449+ build_wamrc
450+ ]
451+ runs-on : ${{ matrix.os }}
441452 strategy :
442453 matrix :
454+ os : [ubuntu-20.04, ubuntu-22.04]
443455 running_mode :
444456 [
445457 " classic-interp" ,
@@ -457,12 +469,21 @@ jobs:
457469 $THREADS_TEST_OPTIONS,
458470 $WASI_TEST_OPTIONS,
459471 ]
460- wasi_sdk_release :
461- [
462- " https://github.com/WebAssembly/wasi-sdk/releases/download/wasi-sdk-19/wasi-sdk-19.0-linux.tar.gz" ,
463- ]
464- llvm_cache_key :
465- ["${{ needs.build_llvm_libraries_on_ubuntu_2004.outputs.cache_key }}"]
472+ include :
473+ - os : ubuntu-20.04
474+ llvm_cache_key : ${{ needs.build_llvm_libraries_on_ubuntu_2004.outputs.cache_key }}
475+ wasi_sdk_release : " https://github.com/WebAssembly/wasi-sdk/releases/download/wasi-sdk-19/wasi-sdk-19.0-linux.tar.gz"
476+ wabt_release : " https://github.com/WebAssembly/wabt/releases/download/1.0.31/wabt-1.0.31-ubuntu.tar.gz"
477+ wasi_sdk_folder_name : " wasi-sdk-19.0"
478+ wasi_sysroot_option : " WASI_SYSROOT_OPTION='--sysroot ../../../../../core/deps/wasi-libc/sysroot'"
479+ ubuntu_version : " 20.04"
480+ - os : ubuntu-22.04
481+ llvm_cache_key : ${{ needs.build_llvm_libraries_on_ubuntu_2204.outputs.cache_key }}
482+ wasi_sdk_release : " https://github.com/WebAssembly/wasi-sdk/releases/download/wasi-sdk-20%2Bthreads/wasi-sdk-20.0.threads-linux.tar.gz"
483+ wabt_release : " https://github.com/WebAssembly/wabt/releases/download/1.0.31/wabt-1.0.31-ubuntu.tar.gz"
484+ wasi_sdk_folder_name : " wasi-sdk-20.0+threads"
485+ wasi_sysroot_option : " "
486+ ubuntu_version : " 22.04"
466487 exclude :
467488 # uncompatiable modes and features
468489 # classic-interp and fast-interp don't support simd
@@ -503,10 +524,10 @@ jobs:
503524 cd /opt
504525 sudo wget ${{ matrix.wasi_sdk_release }}
505526 sudo tar -xzf wasi-sdk-*.tar.gz
506- sudo mv wasi-sdk-19.0 wasi-sdk
527+ sudo mv ${{ matrix.wasi_sdk_folder_name }} wasi-sdk
507528
508529 - name : build wasi-libc (needed for wasi-threads)
509- if : matrix.test_option == '$WASI_TEST_OPTIONS'
530+ if : matrix.os == 'ubuntu-20.04' && matrix. test_option == '$WASI_TEST_OPTIONS'
510531 run : |
511532 mkdir wasi-libc
512533 cd wasi-libc
@@ -557,12 +578,12 @@ jobs:
557578
558579 - name : Build WASI thread tests
559580 if : matrix.test_option == '$WASI_TEST_OPTIONS'
560- run : WASI_SYSROOT=../../../../../core/deps/wasi-libc/sysroot bash build.sh
581+ run : ${{ matrix.wasi_sysroot_option }} bash build.sh
561582 working-directory : ./core/iwasm/libraries/lib-wasi-threads/test/
562583
563584 - name : build socket api tests
564585 if : matrix.test_option == '$WASI_TEST_OPTIONS'
565- run : WASI_SYSROOT=../../../../../core/deps/wasi-libc/sysroot bash build.sh
586+ run : ${{ matrix.wasi_sysroot_option }} bash build.sh
566587 working-directory : ./core/iwasm/libraries/lib-socket/test/
567588
568589 - name : run tests
@@ -577,7 +598,7 @@ jobs:
577598 # Add another apt repository as some packages cannot
578599 # be downloaded with the github default repository
579600 sudo curl -sSL https://packages.microsoft.com/keys/microsoft.asc | sudo tee /etc/apt/trusted.gpg.d/microsoft.asc &&
580- sudo apt-add-repository https://packages.microsoft.com/ubuntu/20.04 /prod &&
601+ sudo apt-add-repository https://packages.microsoft.com/ubuntu/${{ matrix.ubuntu_version }} /prod &&
581602 sudo apt-get update &&
582603 sudo apt install -y g++-multilib lib32gcc-9-dev
583604
0 commit comments