@@ -272,6 +272,67 @@ jobs:
272272 cmake --build . --config Release --parallel 4
273273 working-directory : product-mini/platforms/${{ matrix.platform }}
274274
275+ build_unit_tests :
276+ needs : [build_llvm_libraries_on_ubuntu_2204, build_wamrc]
277+ runs-on : ${{ matrix.os }}
278+ strategy :
279+ fail-fast : false
280+ matrix :
281+ os : [ubuntu-22.04]
282+ build_target : ["X86_64", "X86_32"]
283+ include :
284+ - os : ubuntu-22.04
285+ llvm_cache_key : ${{ needs.build_llvm_libraries_on_ubuntu_2204.outputs.cache_key }}
286+
287+ steps :
288+ - name : checkout
289+ uses : actions/checkout@v6.0.2
290+ with :
291+ submodules : recursive
292+
293+ - name : Get LLVM libraries
294+ id : retrieve_llvm_libs
295+ uses : actions/cache@v5
296+ with :
297+ path : |
298+ ./core/deps/llvm/build/bin
299+ ./core/deps/llvm/build/include
300+ ./core/deps/llvm/build/lib
301+ ./core/deps/llvm/build/libexec
302+ ./core/deps/llvm/build/share
303+ key : ${{ matrix.llvm_cache_key }}
304+
305+ - name : Quit if cache miss
306+ if : (steps.retrieve_llvm_libs.outputs.cache-hit != 'true')
307+ run : echo "::error::can not get prebuilt llvm libraries" && exit 1
308+
309+ - name : install-wasi-sdk-wabt
310+ uses : ./.github/actions/install-wasi-sdk-wabt
311+ with :
312+ os : ${{ matrix.os }}
313+
314+ - name : Build wamrc
315+ run : |
316+ mkdir build && cd build
317+ cmake ..
318+ cmake --build . --config Release --parallel 4
319+ working-directory : wamr-compiler
320+
321+ - name : Install dependencies for X86_32
322+ if : matrix.build_target == 'X86_32'
323+ run : |
324+ sudo dpkg --add-architecture i386
325+ sudo apt-get update
326+ sudo apt-get install -y g++-multilib libzstd-dev:i386 zlib1g-dev:i386
327+
328+ - name : Build and run unit tests
329+ run : |
330+ mkdir build && cd build
331+ cmake .. -DWAMR_BUILD_TARGET=${{ matrix.build_target }} -DFULL_TEST=ON
332+ cmake --build . --parallel 4
333+ ctest --output-on-failure
334+ working-directory : tests/unit
335+
275336 build_iwasm_linux_gcc4_8 :
276337 runs-on : ubuntu-latest
277338 container :
0 commit comments