mirror of
https://github.com/bytecodealliance/wasm-micro-runtime.git
synced 2025-02-06 06:55:07 +00:00
feat(wasi-threads): Add CI for WASI threads (#1819)
Update wasi-sdk from 12.0 to 16.0 in CI Build wasi-libc and build wai-threads sample in CI
This commit is contained in:
parent
e8ce4c542e
commit
7d19b229eb
|
@ -232,7 +232,7 @@ jobs:
|
|||
os: [ubuntu-20.04, ubuntu-22.04]
|
||||
wasi_sdk_release:
|
||||
[
|
||||
"https://github.com/WebAssembly/wasi-sdk/releases/download/wasi-sdk-12/wasi-sdk-12.0-linux.tar.gz",
|
||||
"https://github.com/WebAssembly/wasi-sdk/releases/download/wasi-sdk-16/wasi-sdk-16.0-linux.tar.gz",
|
||||
]
|
||||
wabt_release:
|
||||
[
|
||||
|
@ -299,7 +299,7 @@ jobs:
|
|||
os: [ubuntu-20.04, ubuntu-22.04]
|
||||
wasi_sdk_release:
|
||||
[
|
||||
"https://github.com/WebAssembly/wasi-sdk/releases/download/wasi-sdk-12/wasi-sdk-12.0-linux.tar.gz",
|
||||
"https://github.com/WebAssembly/wasi-sdk/releases/download/wasi-sdk-16/wasi-sdk-16.0-linux.tar.gz",
|
||||
]
|
||||
wabt_release:
|
||||
[
|
||||
|
@ -313,8 +313,8 @@ jobs:
|
|||
run: |
|
||||
cd /opt
|
||||
sudo wget ${{ matrix.wasi_sdk_release }}
|
||||
sudo tar -xzf wasi-sdk-12.0-*.tar.gz
|
||||
sudo mv wasi-sdk-12.0 wasi-sdk
|
||||
sudo tar -xzf wasi-sdk-16.0-*.tar.gz
|
||||
sudo mv wasi-sdk-16.0 wasi-sdk
|
||||
|
||||
- name: download and install wabt
|
||||
run: |
|
||||
|
@ -323,6 +323,17 @@ jobs:
|
|||
sudo tar -xzf wabt-1.0.24-*.tar.gz
|
||||
sudo mv wabt-1.0.24 wabt
|
||||
|
||||
- name: build wasi-libc (needed for wasi-threads)
|
||||
run: |
|
||||
git clone --branch wasi-sdk-17 https://github.com/WebAssembly/wasi-libc
|
||||
cd wasi-libc
|
||||
make \
|
||||
AR=/opt/wasi-sdk/bin/llvm-ar \
|
||||
NM=/opt/wasi-sdk/bin/llvm-nm \
|
||||
CC=/opt/wasi-sdk/bin/clang \
|
||||
THREAD_MODEL=posix
|
||||
working-directory: core/deps
|
||||
|
||||
- name: Build Sample [basic]
|
||||
run: |
|
||||
cd samples/basic
|
||||
|
@ -376,6 +387,14 @@ jobs:
|
|||
exit $?
|
||||
working-directory: ./samples/simple
|
||||
|
||||
- name: Build Sample [wasi-threads]
|
||||
run: |
|
||||
cd samples/wasi-threads
|
||||
mkdir build && cd build
|
||||
cmake -DWASI_SYSROOT=`pwd`/../../../core/deps/wasi-libc/sysroot ..
|
||||
cmake --build . --config Release --parallel 4
|
||||
./iwasm wasm-apps/no_pthread.wasm
|
||||
|
||||
spec_test:
|
||||
needs: [build_iwasm, build_llvm_libraries, build_wamrc]
|
||||
runs-on: ubuntu-20.04
|
||||
|
|
27
.github/workflows/compilation_on_macos.yml
vendored
27
.github/workflows/compilation_on_macos.yml
vendored
|
@ -210,7 +210,7 @@ jobs:
|
|||
#$AOT_BUILD_OPTIONS,
|
||||
]
|
||||
os: [macos-latest]
|
||||
wasi_sdk_release: ["https://github.com/WebAssembly/wasi-sdk/releases/download/wasi-sdk-12/wasi-sdk-12.0-macos.tar.gz"]
|
||||
wasi_sdk_release: ["https://github.com/WebAssembly/wasi-sdk/releases/download/wasi-sdk-16/wasi-sdk-16.0-macos.tar.gz"]
|
||||
wabt_release: ["https://github.com/WebAssembly/wabt/releases/download/1.0.24/wabt-1.0.24-macos.tar.gz"]
|
||||
steps:
|
||||
- name: checkout
|
||||
|
@ -246,7 +246,7 @@ jobs:
|
|||
strategy:
|
||||
matrix:
|
||||
os: [macos-latest]
|
||||
wasi_sdk_release: ["https://github.com/WebAssembly/wasi-sdk/releases/download/wasi-sdk-12/wasi-sdk-12.0-macos.tar.gz"]
|
||||
wasi_sdk_release: ["https://github.com/WebAssembly/wasi-sdk/releases/download/wasi-sdk-16/wasi-sdk-16.0-macos.tar.gz"]
|
||||
wabt_release: ["https://github.com/WebAssembly/wabt/releases/download/1.0.24/wabt-1.0.24-macos.tar.gz"]
|
||||
steps:
|
||||
- name: checkout
|
||||
|
@ -256,8 +256,8 @@ jobs:
|
|||
run: |
|
||||
cd /opt
|
||||
sudo wget ${{ matrix.wasi_sdk_release }}
|
||||
sudo tar -xzf wasi-sdk-12.0-*.tar.gz
|
||||
sudo mv wasi-sdk-12.0 wasi-sdk
|
||||
sudo tar -xzf wasi-sdk-16.0-*.tar.gz
|
||||
sudo mv wasi-sdk-16.0 wasi-sdk
|
||||
|
||||
- name: download and install wabt
|
||||
run: |
|
||||
|
@ -266,6 +266,17 @@ jobs:
|
|||
sudo tar -xzf wabt-1.0.24-*.tar.gz
|
||||
sudo mv wabt-1.0.24 wabt
|
||||
|
||||
- name: build wasi-libc (needed for wasi-threads)
|
||||
run: |
|
||||
git clone --branch wasi-sdk-17 https://github.com/WebAssembly/wasi-libc
|
||||
cd wasi-libc
|
||||
make \
|
||||
AR=/opt/wasi-sdk/bin/llvm-ar \
|
||||
NM=/opt/wasi-sdk/bin/llvm-nm \
|
||||
CC=/opt/wasi-sdk/bin/clang \
|
||||
THREAD_MODEL=posix
|
||||
working-directory: core/deps
|
||||
|
||||
- name: Build Sample [basic]
|
||||
run: |
|
||||
cd samples/basic
|
||||
|
@ -311,3 +322,11 @@ jobs:
|
|||
cmake ..
|
||||
cmake --build . --config Release --parallel 4
|
||||
./hello
|
||||
|
||||
- name: Build Sample [wasi-threads]
|
||||
run: |
|
||||
cd samples/wasi-threads
|
||||
mkdir build && cd build
|
||||
cmake -DWASI_SYSROOT=`pwd`/../../../core/deps/wasi-libc/sysroot ..
|
||||
cmake --build . --config Release --parallel 4
|
||||
./iwasm wasm-apps/no_pthread.wasm
|
25
.github/workflows/compilation_on_sgx.yml
vendored
25
.github/workflows/compilation_on_sgx.yml
vendored
|
@ -244,7 +244,7 @@ jobs:
|
|||
os: [ubuntu-20.04]
|
||||
wasi_sdk_release:
|
||||
[
|
||||
"https://github.com/WebAssembly/wasi-sdk/releases/download/wasi-sdk-12/wasi-sdk-12.0-linux.tar.gz",
|
||||
"https://github.com/WebAssembly/wasi-sdk/releases/download/wasi-sdk-16/wasi-sdk-16.0-linux.tar.gz",
|
||||
]
|
||||
wabt_release:
|
||||
[
|
||||
|
@ -258,8 +258,8 @@ jobs:
|
|||
run: |
|
||||
cd /opt
|
||||
sudo wget ${{ matrix.wasi_sdk_release }}
|
||||
sudo tar -xzf wasi-sdk-12.0-*.tar.gz
|
||||
sudo mv wasi-sdk-12.0 wasi-sdk
|
||||
sudo tar -xzf wasi-sdk-16.0-*.tar.gz
|
||||
sudo mv wasi-sdk-16.0 wasi-sdk
|
||||
|
||||
- name: download and install wabt
|
||||
run: |
|
||||
|
@ -268,6 +268,17 @@ jobs:
|
|||
sudo tar -xzf wabt-1.0.24-*.tar.gz
|
||||
sudo mv wabt-1.0.24 wabt
|
||||
|
||||
- name: build wasi-libc (needed for wasi-threads)
|
||||
run: |
|
||||
git clone --branch wasi-sdk-17 https://github.com/WebAssembly/wasi-libc
|
||||
cd wasi-libc
|
||||
make \
|
||||
AR=/opt/wasi-sdk/bin/llvm-ar \
|
||||
NM=/opt/wasi-sdk/bin/llvm-nm \
|
||||
CC=/opt/wasi-sdk/bin/clang \
|
||||
THREAD_MODEL=posix
|
||||
working-directory: core/deps
|
||||
|
||||
- name: install SGX SDK and necessary libraries
|
||||
run: |
|
||||
mkdir -p /opt/intel
|
||||
|
@ -327,6 +338,14 @@ jobs:
|
|||
cmake --build . --config Release --parallel 4
|
||||
./hello
|
||||
|
||||
- name: Build Sample [wasi-threads]
|
||||
run: |
|
||||
cd samples/wasi-threads
|
||||
mkdir build && cd build
|
||||
cmake -DWASI_SYSROOT=`pwd`/../../../core/deps/wasi-libc/sysroot ..
|
||||
cmake --build . --config Release --parallel 4
|
||||
./iwasm wasm-apps/no_pthread.wasm
|
||||
|
||||
spec_test_default:
|
||||
needs: [build_iwasm, build_llvm_libraries, build_wamrc]
|
||||
runs-on: ubuntu-20.04
|
||||
|
|
|
@ -29,6 +29,8 @@ function (compile_sample SOURCE_FILE)
|
|||
LINKER:--export=__data_end
|
||||
LINKER:--shared-memory,--max-memory=1966080
|
||||
LINKER:--export=wasi_thread_start
|
||||
LINKER:--export=malloc
|
||||
LINKER:--export=free
|
||||
)
|
||||
endfunction ()
|
||||
|
||||
|
|
Loading…
Reference in New Issue
Block a user