mirror of
https://github.com/bytecodealliance/wasm-micro-runtime.git
synced 2025-05-08 20:56:13 +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]
|
os: [ubuntu-20.04, ubuntu-22.04]
|
||||||
wasi_sdk_release:
|
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:
|
wabt_release:
|
||||||
[
|
[
|
||||||
|
@ -299,7 +299,7 @@ jobs:
|
||||||
os: [ubuntu-20.04, ubuntu-22.04]
|
os: [ubuntu-20.04, ubuntu-22.04]
|
||||||
wasi_sdk_release:
|
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:
|
wabt_release:
|
||||||
[
|
[
|
||||||
|
@ -313,8 +313,8 @@ jobs:
|
||||||
run: |
|
run: |
|
||||||
cd /opt
|
cd /opt
|
||||||
sudo wget ${{ matrix.wasi_sdk_release }}
|
sudo wget ${{ matrix.wasi_sdk_release }}
|
||||||
sudo tar -xzf wasi-sdk-12.0-*.tar.gz
|
sudo tar -xzf wasi-sdk-16.0-*.tar.gz
|
||||||
sudo mv wasi-sdk-12.0 wasi-sdk
|
sudo mv wasi-sdk-16.0 wasi-sdk
|
||||||
|
|
||||||
- name: download and install wabt
|
- name: download and install wabt
|
||||||
run: |
|
run: |
|
||||||
|
@ -323,6 +323,17 @@ jobs:
|
||||||
sudo tar -xzf wabt-1.0.24-*.tar.gz
|
sudo tar -xzf wabt-1.0.24-*.tar.gz
|
||||||
sudo mv wabt-1.0.24 wabt
|
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]
|
- name: Build Sample [basic]
|
||||||
run: |
|
run: |
|
||||||
cd samples/basic
|
cd samples/basic
|
||||||
|
@ -376,6 +387,14 @@ jobs:
|
||||||
exit $?
|
exit $?
|
||||||
working-directory: ./samples/simple
|
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:
|
spec_test:
|
||||||
needs: [build_iwasm, build_llvm_libraries, build_wamrc]
|
needs: [build_iwasm, build_llvm_libraries, build_wamrc]
|
||||||
runs-on: ubuntu-20.04
|
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,
|
#$AOT_BUILD_OPTIONS,
|
||||||
]
|
]
|
||||||
os: [macos-latest]
|
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"]
|
wabt_release: ["https://github.com/WebAssembly/wabt/releases/download/1.0.24/wabt-1.0.24-macos.tar.gz"]
|
||||||
steps:
|
steps:
|
||||||
- name: checkout
|
- name: checkout
|
||||||
|
@ -246,7 +246,7 @@ jobs:
|
||||||
strategy:
|
strategy:
|
||||||
matrix:
|
matrix:
|
||||||
os: [macos-latest]
|
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"]
|
wabt_release: ["https://github.com/WebAssembly/wabt/releases/download/1.0.24/wabt-1.0.24-macos.tar.gz"]
|
||||||
steps:
|
steps:
|
||||||
- name: checkout
|
- name: checkout
|
||||||
|
@ -256,8 +256,8 @@ jobs:
|
||||||
run: |
|
run: |
|
||||||
cd /opt
|
cd /opt
|
||||||
sudo wget ${{ matrix.wasi_sdk_release }}
|
sudo wget ${{ matrix.wasi_sdk_release }}
|
||||||
sudo tar -xzf wasi-sdk-12.0-*.tar.gz
|
sudo tar -xzf wasi-sdk-16.0-*.tar.gz
|
||||||
sudo mv wasi-sdk-12.0 wasi-sdk
|
sudo mv wasi-sdk-16.0 wasi-sdk
|
||||||
|
|
||||||
- name: download and install wabt
|
- name: download and install wabt
|
||||||
run: |
|
run: |
|
||||||
|
@ -266,6 +266,17 @@ jobs:
|
||||||
sudo tar -xzf wabt-1.0.24-*.tar.gz
|
sudo tar -xzf wabt-1.0.24-*.tar.gz
|
||||||
sudo mv wabt-1.0.24 wabt
|
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]
|
- name: Build Sample [basic]
|
||||||
run: |
|
run: |
|
||||||
cd samples/basic
|
cd samples/basic
|
||||||
|
@ -311,3 +322,11 @@ jobs:
|
||||||
cmake ..
|
cmake ..
|
||||||
cmake --build . --config Release --parallel 4
|
cmake --build . --config Release --parallel 4
|
||||||
./hello
|
./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]
|
os: [ubuntu-20.04]
|
||||||
wasi_sdk_release:
|
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:
|
wabt_release:
|
||||||
[
|
[
|
||||||
|
@ -258,8 +258,8 @@ jobs:
|
||||||
run: |
|
run: |
|
||||||
cd /opt
|
cd /opt
|
||||||
sudo wget ${{ matrix.wasi_sdk_release }}
|
sudo wget ${{ matrix.wasi_sdk_release }}
|
||||||
sudo tar -xzf wasi-sdk-12.0-*.tar.gz
|
sudo tar -xzf wasi-sdk-16.0-*.tar.gz
|
||||||
sudo mv wasi-sdk-12.0 wasi-sdk
|
sudo mv wasi-sdk-16.0 wasi-sdk
|
||||||
|
|
||||||
- name: download and install wabt
|
- name: download and install wabt
|
||||||
run: |
|
run: |
|
||||||
|
@ -268,6 +268,17 @@ jobs:
|
||||||
sudo tar -xzf wabt-1.0.24-*.tar.gz
|
sudo tar -xzf wabt-1.0.24-*.tar.gz
|
||||||
sudo mv wabt-1.0.24 wabt
|
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
|
- name: install SGX SDK and necessary libraries
|
||||||
run: |
|
run: |
|
||||||
mkdir -p /opt/intel
|
mkdir -p /opt/intel
|
||||||
|
@ -327,6 +338,14 @@ jobs:
|
||||||
cmake --build . --config Release --parallel 4
|
cmake --build . --config Release --parallel 4
|
||||||
./hello
|
./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:
|
spec_test_default:
|
||||||
needs: [build_iwasm, build_llvm_libraries, build_wamrc]
|
needs: [build_iwasm, build_llvm_libraries, build_wamrc]
|
||||||
runs-on: ubuntu-20.04
|
runs-on: ubuntu-20.04
|
||||||
|
|
|
@ -29,6 +29,8 @@ function (compile_sample SOURCE_FILE)
|
||||||
LINKER:--export=__data_end
|
LINKER:--export=__data_end
|
||||||
LINKER:--shared-memory,--max-memory=1966080
|
LINKER:--shared-memory,--max-memory=1966080
|
||||||
LINKER:--export=wasi_thread_start
|
LINKER:--export=wasi_thread_start
|
||||||
|
LINKER:--export=malloc
|
||||||
|
LINKER:--export=free
|
||||||
)
|
)
|
||||||
endfunction ()
|
endfunction ()
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user