@@ -337,9 +337,13 @@ jobs:
337
337
- os : ubuntu-20.04
338
338
wasi_sdk_release : " https://github.com/WebAssembly/wasi-sdk/releases/download/wasi-sdk-19/wasi-sdk-19.0-linux.tar.gz"
339
339
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"
340
342
- 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"
342
344
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 : " "
343
347
steps :
344
348
- name : checkout
345
349
uses : actions/checkout@v3
@@ -349,7 +353,7 @@ jobs:
349
353
cd /opt
350
354
sudo wget ${{ matrix.wasi_sdk_release }}
351
355
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
353
357
354
358
- name : download and install wabt
355
359
run : |
@@ -359,6 +363,7 @@ jobs:
359
363
sudo mv wabt-1.0.31 wabt
360
364
361
365
- name : build wasi-libc (needed for wasi-threads)
366
+ if : matrix.os == 'ubuntu-20.04'
362
367
run : |
363
368
mkdir wasi-libc
364
369
cd wasi-libc
@@ -431,15 +436,22 @@ jobs:
431
436
run : |
432
437
cd samples/wasi-threads
433
438
mkdir build && cd build
434
- cmake -DWASI_SYSROOT=`pwd`/../../../core/deps/wasi-libc/sysroot ..
439
+ cmake ${{ matrix.wasi_sysroot_option }} ..
435
440
cmake --build . --config Release --parallel 4
436
441
./iwasm wasm-apps/no_pthread.wasm
437
442
438
443
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 }}
441
452
strategy :
442
453
matrix :
454
+ os : [ubuntu-20.04, ubuntu-22.04]
443
455
running_mode :
444
456
[
445
457
" classic-interp" ,
@@ -457,12 +469,21 @@ jobs:
457
469
$THREADS_TEST_OPTIONS,
458
470
$WASI_TEST_OPTIONS,
459
471
]
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"
466
487
exclude :
467
488
# uncompatiable modes and features
468
489
# classic-interp and fast-interp don't support simd
@@ -503,10 +524,10 @@ jobs:
503
524
cd /opt
504
525
sudo wget ${{ matrix.wasi_sdk_release }}
505
526
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
507
528
508
529
- 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'
510
531
run : |
511
532
mkdir wasi-libc
512
533
cd wasi-libc
@@ -557,12 +578,12 @@ jobs:
557
578
558
579
- name : Build WASI thread tests
559
580
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
561
582
working-directory : ./core/iwasm/libraries/lib-wasi-threads/test/
562
583
563
584
- name : build socket api tests
564
585
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
566
587
working-directory : ./core/iwasm/libraries/lib-socket/test/
567
588
568
589
- name : run tests
@@ -577,7 +598,7 @@ jobs:
577
598
# Add another apt repository as some packages cannot
578
599
# be downloaded with the github default repository
579
600
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 &&
581
602
sudo apt-get update &&
582
603
sudo apt install -y g++-multilib lib32gcc-9-dev
583
604
0 commit comments