Skip to content

Commit 5629579

Browse files
Revert "Merge and solve conflict for extended const (#4435)" (#4445)
This reverts commit 419f5cb.
1 parent 419f5cb commit 5629579

File tree

82 files changed

+789
-2040
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

82 files changed

+789
-2040
lines changed

.github/actions/install-wasi-sdk-wabt/action.yml

Lines changed: 4 additions & 49 deletions
Original file line numberDiff line numberDiff line change
@@ -30,96 +30,51 @@ runs:
3030
if: ${{ startsWith(inputs.os, 'ubuntu') }}
3131
shell: bash
3232
run: |
33-
echo "Downloading wasi-sdk for Ubuntu..."
3433
sudo wget -O wasi-sdk.tar.gz --progress=dot:giga https://github.com/WebAssembly/wasi-sdk/releases/download/wasi-sdk-25/wasi-sdk-25.0-x86_64-linux.tar.gz
35-
36-
echo "Extracting wasi-sdk..."
3734
sudo tar -xf wasi-sdk.tar.gz
3835
sudo ln -sf wasi-sdk-25.0-x86_64-linux/ wasi-sdk
39-
40-
echo "Downloading wabt for Ubuntu..."
4136
sudo wget -O wabt.tar.gz --progress=dot:giga https://github.com/WebAssembly/wabt/releases/download/1.0.37/wabt-1.0.37-ubuntu-20.04.tar.gz
42-
43-
echo "Extracting wabt..."
4437
sudo tar -xf wabt.tar.gz
4538
sudo ln -sf wabt-1.0.37 wabt
46-
4739
/opt/wasi-sdk/bin/clang --version
4840
/opt/wabt/bin/wasm-interp --version
49-
5041
echo "::notice::wasi-sdk-25 and wabt-1.0.37 installed on ubuntu"
5142
working-directory: /opt
5243

5344
- name: Set up wasi-sdk and wabt on macOS-13 (intel)
5445
if: ${{ inputs.os == 'macos-13' }}
5546
shell: bash
5647
run: |
57-
echo "Downloading wasi-sdk for macOS-13..."
5848
sudo wget -O wasi-sdk.tar.gz --progress=dot:giga https://github.com/WebAssembly/wasi-sdk/releases/download/wasi-sdk-25/wasi-sdk-25.0-x86_64-macos.tar.gz
59-
60-
echo "Extracting wasi-sdk..."
6149
sudo tar -xf wasi-sdk.tar.gz
6250
sudo ln -sf wasi-sdk-25.0-x86_64-macos wasi-sdk
63-
64-
echo "Downloading wabt for macOS-13..."
6551
sudo wget -O wabt.tar.gz --progress=dot:giga https://github.com/WebAssembly/wabt/releases/download/1.0.36/wabt-1.0.36-macos-12.tar.gz
66-
67-
echo "Extracting wabt..."
6852
sudo tar -xf wabt.tar.gz
6953
sudo ln -sf wabt-1.0.36 wabt
70-
7154
/opt/wasi-sdk/bin/clang --version
7255
/opt/wabt/bin/wasm-interp --version
73-
7456
echo "::notice::wasi-sdk-25 and wabt-1.0.36 installed on macos-13"
7557
working-directory: /opt
7658

7759
- name: Set up wasi-sdk and wabt on macOS-14 (arm64)
7860
if: ${{ inputs.os == 'macos-14' }}
7961
shell: bash
8062
run: |
81-
echo "Downloading wasi-sdk for macOS-14..."
8263
sudo wget -O wasi-sdk.tar.gz --progress=dot:giga https://github.com/WebAssembly/wasi-sdk/releases/download/wasi-sdk-25/wasi-sdk-25.0-arm64-macos.tar.gz
83-
84-
echo "Extracting wasi-sdk..."
8564
sudo tar -xf wasi-sdk.tar.gz
8665
sudo ln -sf wasi-sdk-25.0-arm64-macos wasi-sdk
87-
88-
echo "Downloading wabt for macOS-14..."
8966
sudo wget -O wabt.tar.gz --progress=dot:giga https://github.com/WebAssembly/wabt/releases/download/1.0.37/wabt-1.0.37-macos-14.tar.gz
90-
91-
echo "Extracting wabt..."
9267
sudo tar -xf wabt.tar.gz
9368
sudo ln -sf wabt-1.0.37 wabt
94-
9569
/opt/wasi-sdk/bin/clang --version
9670
/opt/wabt/bin/wasm-interp --version
97-
9871
echo "::notice::wasi-sdk-25 and wabt-1.0.37 installed on macos-14"
9972
working-directory: /opt
10073

74+
#TODO: Add support for Windows
10175
- name: Set up wasi-sdk and wabt on Windows
10276
if: ${{ startsWith(inputs.os, 'windows') }}
103-
shell: bash
77+
shell: powershell
10478
run: |
105-
choco install -y wget
106-
107-
mkdir -p /opt/wasi-sdk
108-
mkdir -p /opt/wabt
109-
110-
echo "Downloading wasi-sdk for Windows..."
111-
wget -O wasi-sdk.tar.gz --progress=dot:giga https://github.com/WebAssembly/wasi-sdk/releases/download/wasi-sdk-25/wasi-sdk-25.0-x86_64-windows.tar.gz
112-
113-
echo "Extracting wasi-sdk..."
114-
tar --strip-components=1 -xf wasi-sdk.tar.gz -C /opt/wasi-sdk
115-
116-
echo "Downloading wabt for Windows..."
117-
wget -O wabt.tar.gz --progress=dot:giga https://github.com/WebAssembly/wabt/releases/download/1.0.37/wabt-1.0.37-windows.tar.gz
118-
119-
echo "Extracting wabt..."
120-
tar --strip-components=1 -xf wabt.tar.gz -C /opt/wabt
121-
122-
/opt/wasi-sdk/bin/clang --version
123-
/opt/wabt/bin/wasm-interp --version
124-
125-
echo "::notice::wasi-sdk-25 and wabt-1.0.37 installed on Windows"
79+
echo "::notice::Support for Windows is not implemented yet"
80+
exit 1

.github/workflows/build_iwasm_release.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ on:
2323
type: string
2424
required: true
2525
upload_url:
26-
description: upload binary assets to the URL of release
26+
description: a semantic version number. it is required when `release` is true.
2727
type: string
2828
required: false
2929
ver_num:

.github/workflows/build_wamrc.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ on:
2323
type: string
2424
required: true
2525
upload_url:
26-
description: upload binary assets to the URL of release
26+
description: a semantic version number. it is required when `release` is true.
2727
type: string
2828
required: false
2929
ver_num:

.github/workflows/codeql.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@ jobs:
5353

5454
# Initializes the CodeQL tools for scanning.
5555
- name: Initialize CodeQL
56-
uses: github/codeql-action/init@v3.29.0
56+
uses: github/codeql-action/init@v3.28.18
5757
with:
5858
languages: ${{ matrix.language }}
5959

@@ -70,7 +70,7 @@ jobs:
7070
- run: |
7171
./.github/scripts/codeql_buildscript.sh
7272
- name: Perform CodeQL Analysis
73-
uses: github/codeql-action/analyze@v3.29.0
73+
uses: github/codeql-action/analyze@v3.28.18
7474
with:
7575
category: "/language:${{matrix.language}}"
7676
upload: false
@@ -99,7 +99,7 @@ jobs:
9999
output: ${{ steps.step1.outputs.sarif-output }}/cpp.sarif
100100

101101
- name: Upload CodeQL results to code scanning
102-
uses: github/codeql-action/upload-sarif@v3.29.0
102+
uses: github/codeql-action/upload-sarif@v3.28.18
103103
with:
104104
sarif_file: ${{ steps.step1.outputs.sarif-output }}
105105
category: "/language:${{matrix.language}}"

.github/workflows/compilation_on_android_ubuntu.yml

Lines changed: 163 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -621,6 +621,49 @@ jobs:
621621
llvm_cache_key: ${{ needs.build_llvm_libraries_on_ubuntu_2204.outputs.cache_key }}
622622
running_mode: aot
623623
test_option: $WAMR_COMPILER_TEST_OPTIONS
624+
exclude:
625+
# incompatible modes and features
626+
# classic-interp doesn't support simd
627+
- running_mode: "classic-interp"
628+
test_option: $SIMD_TEST_OPTIONS
629+
# llvm jit doesn't support multi module
630+
- running_mode: "jit"
631+
test_option: $MULTI_MODULES_TEST_OPTIONS
632+
# fast-jit doesn't support multi module, simd
633+
- running_mode: "fast-jit"
634+
test_option: $MULTI_MODULES_TEST_OPTIONS
635+
- running_mode: "fast-jit"
636+
test_option: $SIMD_TEST_OPTIONS
637+
# multi-tier-jit doesn't support multi module, simd
638+
- running_mode: "multi-tier-jit"
639+
test_option: $MULTI_MODULES_TEST_OPTIONS
640+
- running_mode: "multi-tier-jit"
641+
test_option: $SIMD_TEST_OPTIONS
642+
# fast-jit and multi-tier-jit don't support GC
643+
- running_mode: "fast-jit"
644+
test_option: $GC_TEST_OPTIONS
645+
- running_mode: "multi-tier-jit"
646+
test_option: $GC_TEST_OPTIONS
647+
# fast-interp, fast-jit, llvm-jit, multi-tier-jit don't support Memory64
648+
- running_mode: "fast-interp"
649+
test_option: $MEMORY64_TEST_OPTIONS
650+
- running_mode: "fast-jit"
651+
test_option: $MEMORY64_TEST_OPTIONS
652+
- running_mode: "jit"
653+
test_option: $MEMORY64_TEST_OPTIONS
654+
- running_mode: "multi-tier-jit"
655+
test_option: $MEMORY64_TEST_OPTIONS
656+
# aot, fast-interp, fast-jit, llvm-jit, multi-tier-jit don't support Multi Memory
657+
- running_mode: "aot"
658+
test_option: $MULTI_MEMORY_TEST_OPTIONS
659+
- running_mode: "fast-interp"
660+
test_option: $MULTI_MEMORY_TEST_OPTIONS
661+
- running_mode: "fast-jit"
662+
test_option: $MULTI_MEMORY_TEST_OPTIONS
663+
- running_mode: "jit"
664+
test_option: $MULTI_MEMORY_TEST_OPTIONS
665+
- running_mode: "multi-tier-jit"
666+
test_option: $MULTI_MEMORY_TEST_OPTIONS
624667

625668
steps:
626669
- name: checkout
@@ -724,3 +767,123 @@ jobs:
724767
eval $(opam env)
725768
./test_wamr.sh ${{ env.X86_32_TARGET_TEST_OPTIONS }} ${{ matrix.test_option }} -t ${{ matrix.running_mode }}
726769
working-directory: ./tests/wamr-test-suites
770+
771+
test-wamr-ide:
772+
needs:
773+
[
774+
build_iwasm
775+
]
776+
runs-on: ubuntu-22.04
777+
env:
778+
PYTHON_VERSION: '3.10'
779+
PYTHON_UBUNTU_STANDALONE_BUILD: https://github.com/indygreg/python-build-standalone/releases/download/20230507/cpython-3.10.11+20230507-x86_64-unknown-linux-gnu-install_only.tar.gz
780+
781+
steps:
782+
- name: checkout
783+
uses: actions/checkout@v4
784+
785+
- name: install dependencies
786+
run: |
787+
rustup target add wasm32-wasip1
788+
sudo apt update && sudo apt-get install -y lld ninja-build
789+
npm install
790+
working-directory: test-tools/wamr-ide/VSCode-Extension
791+
792+
- name: code style check
793+
run: |
794+
npm install --save-dev prettier
795+
npm run prettier-format-check
796+
working-directory: test-tools/wamr-ide/VSCode-Extension
797+
798+
- name: build iwasm with source debugging feature
799+
run: |
800+
mkdir build
801+
cd build
802+
cmake .. -DWAMR_BUILD_DEBUG_INTERP=1 -DWAMR_BUILD_REF_TYPES=1
803+
make
804+
working-directory: product-mini/platforms/linux
805+
806+
- name: Cache LLDB
807+
id: cache-lldb
808+
uses: actions/cache@v4
809+
env:
810+
cache-name: cache-lldb-vscode
811+
with:
812+
path: test-tools/wamr-ide/VSCode-Extension/resource/debug/linux
813+
key: ${{ env.cache-name }}-${{ hashFiles('build-scripts/lldb_wasm.patch') }}-${{ env.PYTHON_UBUNTU_STANDALONE_BUILD }}
814+
815+
- if: ${{ steps.cache-lldb.outputs.cache-hit != 'true' }}
816+
name: get stand-alone python ubuntu
817+
run: |
818+
wget ${{ env.PYTHON_UBUNTU_STANDALONE_BUILD }} -O python.tar.gz
819+
tar -xvf python.tar.gz
820+
working-directory: core/deps
821+
822+
- if: ${{ steps.cache-lldb.outputs.cache-hit != 'true' }}
823+
name: download llvm
824+
run: |
825+
wget https://github.com/llvm/llvm-project/archive/1f27fe6128769f00197925c3b8f6abb9d0e5cd2e.zip
826+
unzip -q 1f27fe6128769f00197925c3b8f6abb9d0e5cd2e.zip
827+
mv llvm-project-1f27fe6128769f00197925c3b8f6abb9d0e5cd2e llvm-project
828+
working-directory: core/deps
829+
830+
- if: ${{ steps.cache-lldb.outputs.cache-hit != 'true' }}
831+
name: apply wamr patch
832+
run: |
833+
git init
834+
git config user.email "action@github.com"
835+
git config user.name "github action"
836+
git apply ../../../build-scripts/lldb_wasm.patch
837+
working-directory: core/deps/llvm-project
838+
839+
- if: ${{ steps.cache-lldb.outputs.cache-hit != 'true' }}
840+
name: build lldb ubuntu
841+
run: |
842+
echo "start to build lldb..."
843+
mkdir -p wamr-lldb
844+
cmake -S ./llvm -B build \
845+
-G Ninja \
846+
-DCMAKE_INSTALL_PREFIX=../wamr-lldb \
847+
-DCMAKE_BUILD_TYPE:STRING="Release" \
848+
-DCMAKE_EXPORT_COMPILE_COMMANDS=ON \
849+
-DLLVM_ENABLE_PROJECTS="clang;lldb" \
850+
-DLLVM_TARGETS_TO_BUILD:STRING="X86;WebAssembly" \
851+
-DLLVM_BUILD_BENCHMARKS:BOOL=OFF \
852+
-DLLVM_BUILD_DOCS:BOOL=OFF \
853+
-DLLVM_BUILD_EXAMPLES:BOOL=OFF \
854+
-DLLVM_BUILD_LLVM_DYLIB:BOOL=OFF \
855+
-DLLVM_BUILD_TESTS:BOOL=OFF \
856+
-DLLVM_INCLUDE_BENCHMARKS:BOOL=OFF \
857+
-DLLVM_INCLUDE_DOCS:BOOL=OFF \
858+
-DLLVM_INCLUDE_EXAMPLES:BOOL=OFF \
859+
-DLLVM_INCLUDE_TESTS:BOOL=OFF \
860+
-DLLVM_ENABLE_BINDINGS:BOOL=OFF \
861+
-DLLVM_ENABLE_LIBXML2:BOOL=ON \
862+
-DLLVM_ENABLE_LLD:BOOL=ON \
863+
-DLLDB_ENABLE_PYTHON:BOOL=ON \
864+
-DLLDB_EMBED_PYTHON_HOME=ON \
865+
-DLLDB_PYTHON_HOME=.. \
866+
-DLLDB_PYTHON_RELATIVE_PATH=lib/lldb-python \
867+
-DPython3_EXECUTABLE="$(pwd)/../python/bin/python${{ env.PYTHON_VERSION }}"
868+
cmake --build build --target lldb install --parallel $(nproc)
869+
working-directory: core/deps/llvm-project
870+
871+
- if: ${{ steps.cache-lldb.outputs.cache-hit != 'true' }}
872+
name: copy lldb to extension folder
873+
run: |
874+
mkdir -p bin
875+
mkdir -p lib
876+
cp ../../../../../../core/deps/llvm-project/lldb/tools/lldb-vscode/package.json ./
877+
cp -r ../../../../../../core/deps/llvm-project/lldb/tools/lldb-vscode/syntaxes/ ./
878+
cp ../../../../../../core/deps/llvm-project/build/bin/lldb* bin
879+
cp ../../../../../../core/deps/llvm-project/build/lib/liblldb*.so lib
880+
cp ../../../../../../core/deps/llvm-project/build/lib/liblldb*.so.* lib
881+
cp -R ../../../../../../core/deps/llvm-project/build/lib/lldb-python lib
882+
cp -R ../../../../../../core/deps/python/lib/python* lib
883+
cp ../../../../../../core/deps/python/lib/libpython${{ env.PYTHON_VERSION }}.so.1.0 lib
884+
working-directory: test-tools/wamr-ide/VSCode-Extension/resource/debug/linux
885+
886+
- name: run tests
887+
timeout-minutes: 5
888+
run: xvfb-run npm run test
889+
working-directory: test-tools/wamr-ide/VSCode-Extension

.github/workflows/compilation_on_sgx.yml

Lines changed: 23 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -291,6 +291,28 @@ jobs:
291291
292292
- name: run spec tests
293293
run: |
294+
set +e
294295
source /opt/intel/sgxsdk/environment
295-
./test_wamr.sh ${{ matrix.test_option }} -t ${{ matrix.running_mode }}
296+
attempts=0
297+
max_attempts=3
298+
299+
while [ $attempts -lt $max_attempts ]; do
300+
./test_wamr.sh ${{ matrix.test_option }} -t ${{ matrix.running_mode }}
301+
exitcode="$?"
302+
303+
if [ $exitcode -eq 0 ]; then
304+
echo "Spec test passed"
305+
exit 0
306+
elif [ $exitcode -ne 143 ]; then
307+
echo "Spec test failed with error code $exitcode"
308+
exit 1
309+
fi
310+
311+
echo "$exitcode is a known GitHub-hosted runner issue"
312+
echo "::notice::Re-running the spec test due to error code 143"
313+
attempts=$((attempts + 1))
314+
done
315+
316+
echo "::notice::Report an error with code 143 in SGX CI after $max_attempts attempts"
317+
exit 143
296318
working-directory: ./tests/wamr-test-suites

.github/workflows/compilation_on_windows.yml

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -172,10 +172,6 @@ jobs:
172172
run: ./build.sh
173173
working-directory: ./core/iwasm/libraries/lib-wasi-threads/test/
174174

175-
- name: install wget
176-
shell: bash
177-
run: choco install wget
178-
179175
- name: run tests
180176
shell: bash
181177
timeout-minutes: 20

0 commit comments

Comments
 (0)