# 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/**" - "build-scripts/**" - "core/**" - "!core/deps/**" - "product-mini/**" - "samples/**" - "!samples/workload/**" - "tests/wamr-test-suites/**" - "wamr-compiler/**" - "wamr-sdk/**" # will be triggered on push events push: branches: - main - "dev/**" paths: - ".github/**" - "build-scripts/**" - "core/**" - "!core/deps/**" - "product-mini/**" - "samples/**" - "!samples/workload/**" - "tests/wamr-test-suites/**" - "wamr-compiler/**" - "wamr-sdk/**" # allow to be triggered manually workflow_dispatch: # 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 steps: - uses: actions/checkout@v3 - name: clone uvwasi library run: | cd core/deps git clone https://github.com/nodejs/uvwasi.git - name: Build iwasm [default] run: | cd product-mini/platforms/windows mkdir build && cd build cmake .. cmake --build . --config Release --parallel 4 cd .. && rm -force -r build - name: Build iwasm [aot only] run: | cd product-mini/platforms/windows mkdir build && cd build cmake .. -DWAMR_BUILD_AOT=1 -DWAMR_BUILD_INTERP=0 cmake --build . --config Release --parallel 4 cd .. && rm -force -r build - name: Build iwasm [interp only] run: | cd product-mini/platforms/windows mkdir build && cd build cmake .. -DWAMR_BUILD_AOT=0 cmake --build . --config Release --parallel 4 cd .. && rm -force -r build - name: Build iwasm [tail call] run: | cd product-mini/platforms/windows mkdir build && cd build cmake .. -DWAMR_BUILD_TAIL_CALL=1 cmake --build . --config Release --parallel 4 cd .. && rm -force -r build - name: Build iwasm [custom name section] run: | cd product-mini/platforms/windows mkdir build && cd build cmake .. -DWAMR_BUILD_CUSTOM_NAME_SECTION=1 cmake --build . --config Release --parallel 4 cd .. && rm -force -r build - name: Build iwasm [disable hardware boundary check] run: | cd product-mini/platforms/windows mkdir build && cd build cmake .. -DWAMR_DISABLE_HW_BOUND_CHECK=1 cmake --build . --config Release --parallel 4 cd .. && rm -force -r build - name: Build iwasm [reference types] run: | cd product-mini/platforms/windows mkdir build && cd build cmake .. -DWAMR_BUILD_REF_TYPES=1 cmake --build . --config Release --parallel 4 cd .. && rm -force -r build - name: Build iwasm [128-bit SIMD] run: | cd product-mini/platforms/windows mkdir build && cd build cmake .. -DWAMR_BUILD_SIMD=1 cmake --build . --config Release --parallel 4 cd .. && rm -force -r build - name: Build iwasm [source debugger] run: | cd product-mini/platforms/windows mkdir build && cd build cmake .. -DWAMR_BUILD_DEBUG_INTERP=1 cmake --build . --config Release --parallel 4 cd .. && rm -force -r build - name: Build iwasm [lib pthread] run: | cd product-mini/platforms/windows mkdir build && cd build cmake .. -DWAMR_BUILD_LIB_PTHREAD=1 cmake --build . --config Release --parallel 4 cd .. && rm -force -r build - name: Build iwasm [lib wasi-thread] run: | cd product-mini/platforms/windows mkdir build && cd build cmake .. -DWAMR_BUILD_LIB_WASI_THREADS=1 cmake --build . --config Release --parallel 4 cd .. && rm -force -r build