mirror of
https://github.com/bytecodealliance/wasm-micro-runtime.git
synced 2025-02-06 15:05:19 +00:00
![Wenyong Huang](/assets/img/avatar_default.png)
As planned, the app-manager and app-framework are to be migrated to https://github.com/bytecodealliance/wamr-app-framework. ps. https://github.com/bytecodealliance/wasm-micro-runtime/issues/2329 https://github.com/bytecodealliance/wasm-micro-runtime/wiki/TSC-meeting-notes
135 lines
3.9 KiB
YAML
135 lines
3.9 KiB
YAML
# Copyright (C) 2019 Intel Corporation. All rights reserved.
|
|
# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
|
|
|
|
name: compilation on windows-latest
|
|
|
|
on:
|
|
# will be triggered on PR events
|
|
pull_request:
|
|
types:
|
|
- opened
|
|
- synchronize
|
|
paths:
|
|
- ".github/workflows/compilation_on_windows.yml"
|
|
- "build-scripts/**"
|
|
- "core/**"
|
|
- "!core/deps/**"
|
|
- "product-mini/**"
|
|
- "samples/**"
|
|
- "!samples/workload/**"
|
|
- "tests/wamr-test-suites/**"
|
|
- "wamr-compiler/**"
|
|
# will be triggered on push events
|
|
push:
|
|
branches:
|
|
- main
|
|
- "dev/**"
|
|
paths:
|
|
- ".github/workflows/compilation_on_windows.yml"
|
|
- "build-scripts/**"
|
|
- "core/**"
|
|
- "!core/deps/**"
|
|
- "product-mini/**"
|
|
- "samples/**"
|
|
- "!samples/workload/**"
|
|
- "tests/wamr-test-suites/**"
|
|
- "wamr-compiler/**"
|
|
# allow to be triggered manually
|
|
workflow_dispatch:
|
|
|
|
env:
|
|
# For Spec Test
|
|
DEFAULT_TEST_OPTIONS: "-s spec -b"
|
|
MULTI_MODULES_TEST_OPTIONS: "-s spec -b -M"
|
|
THREADS_TEST_OPTIONS: "-s spec -b -p"
|
|
WASI_TEST_OPTIONS: "-s wasi_certification -w"
|
|
WASI_TEST_FILTER: ${{ github.workspace }}/product-mini/platforms/windows/wasi_filtered_tests.json
|
|
# Used when building the WASI socket and thread tests
|
|
CC: ${{ github.workspace }}/wasi-sdk/bin/clang
|
|
|
|
# Cancel any in-flight jobs for the same PR/branch so there's only one active
|
|
# at a time
|
|
concurrency:
|
|
group: ${{ github.workflow }}-${{ github.ref }}
|
|
cancel-in-progress: true
|
|
|
|
jobs:
|
|
build:
|
|
runs-on: windows-latest
|
|
strategy:
|
|
matrix:
|
|
build_options: [
|
|
"-DWAMR_BUILD_AOT=1 -DWAMR_BUILD_INTERP=0",
|
|
"-DWAMR_BUILD_AOT=0",
|
|
"-DWAMR_BUILD_TAIL_CALL=1",
|
|
"-DWAMR_BUILD_CUSTOM_NAME_SECTION=1",
|
|
"-DWAMR_DISABLE_HW_BOUND_CHECK=1",
|
|
"-DWAMR_BUILD_REF_TYPES=1",
|
|
"-DWAMR_BUILD_SIMD=1",
|
|
"-DWAMR_BUILD_DEBUG_INTERP=1",
|
|
"-DWAMR_BUILD_LIB_PTHREAD=1",
|
|
"-DWAMR_BUILD_LIB_WASI_THREADS=1",
|
|
"-DWAMR_BUILD_LIBC_UVWASI=0 -DWAMR_BUILD_LIBC_WASI=1"
|
|
]
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
|
|
- name: clone uvwasi library
|
|
if: ${{ !contains(matrix.build_options, '-DWAMR_BUILD_LIBC_UVWASI=0') }}
|
|
run: |
|
|
cd core/deps
|
|
git clone https://github.com/nodejs/uvwasi.git
|
|
- name: Build iwasm
|
|
run: |
|
|
cd product-mini/platforms/windows
|
|
mkdir build && cd build
|
|
cmake .. ${{ matrix.build_options }}
|
|
cmake --build . --config Release --parallel 4
|
|
|
|
test:
|
|
runs-on: windows-latest
|
|
needs: [build]
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
running_mode:
|
|
[
|
|
"classic-interp",
|
|
"fast-interp",
|
|
]
|
|
test_option:
|
|
[
|
|
$DEFAULT_TEST_OPTIONS,
|
|
$MULTI_MODULES_TEST_OPTIONS,
|
|
$THREADS_TEST_OPTIONS,
|
|
$WASI_TEST_OPTIONS,
|
|
]
|
|
steps:
|
|
- name: checkout
|
|
uses: actions/checkout@v4
|
|
|
|
- name: download and install wasi-sdk
|
|
if: matrix.test_option == '$WASI_TEST_OPTIONS'
|
|
run: |
|
|
curl "https://github.com/WebAssembly/wasi-sdk/releases/download/wasi-sdk-20/wasi-sdk-20.0.m-mingw.tar.gz" -o wasi-sdk.tar.gz -L
|
|
mkdir wasi-sdk
|
|
tar -xzf wasi-sdk.tar.gz -C wasi-sdk --strip-components 1
|
|
|
|
- name: build socket api tests
|
|
shell: bash
|
|
if: matrix.test_option == '$WASI_TEST_OPTIONS'
|
|
run: ./build.sh
|
|
working-directory: ./core/iwasm/libraries/lib-socket/test/
|
|
|
|
- name: Build WASI thread tests
|
|
shell: bash
|
|
if: matrix.test_option == '$WASI_TEST_OPTIONS'
|
|
run: ./build.sh
|
|
working-directory: ./core/iwasm/libraries/lib-wasi-threads/test/
|
|
|
|
- name: run tests
|
|
shell: bash
|
|
timeout-minutes: 20
|
|
run: ./test_wamr.sh ${{ matrix.test_option }} -t ${{ matrix.running_mode }}
|
|
working-directory: ./tests/wamr-test-suites
|