mirror of
https://github.com/bytecodealliance/wasm-micro-runtime.git
synced 2025-05-07 04:06:16 +00:00
Raise CI runner to ubuntu 22.04 (#4191)
update workflows and scripts for Ubuntu 22.04 compatibility. It includes - install Intel SGX SDK 2.25 - use a reusable action to install sgx required - keep improve error handling in AOT compilation process in runtest.py add a workaround to fix receiving a shutdown signal problem. Refers to https://github.com/actions/runner-images/issues/6680 and https://github.com/actions/runner-images/discussions/7188
This commit is contained in:
parent
955fce5664
commit
fc1527eacd
47
.github/actions/install-linux-sgx/action.yml
vendored
Normal file
47
.github/actions/install-linux-sgx/action.yml
vendored
Normal file
|
@ -0,0 +1,47 @@
|
||||||
|
# Copyright (C) 2019 Intel Corporation. All rights reserved.
|
||||||
|
# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
|
||||||
|
|
||||||
|
# Always follow https://download.01.org/intel-sgx/latest/linux-latest/docs/
|
||||||
|
|
||||||
|
name: "Install Intel SGX SDK"
|
||||||
|
description: "Installs the Intel SGX SDK and necessary libraries for Ubuntu."
|
||||||
|
author: "Intel Corporation"
|
||||||
|
inputs:
|
||||||
|
os:
|
||||||
|
description: "Operating system to install on (ubuntu-22.04)"
|
||||||
|
required: true
|
||||||
|
|
||||||
|
runs:
|
||||||
|
using: "composite"
|
||||||
|
steps:
|
||||||
|
- name: Check Runner OS
|
||||||
|
if: ${{ inputs.os != 'ubuntu-22.04' }}
|
||||||
|
shell: bash
|
||||||
|
run: |
|
||||||
|
echo "::error title=⛔ error hint::Only support ubuntu-22.04 for now"
|
||||||
|
exit 1
|
||||||
|
|
||||||
|
- name: Create installation directory
|
||||||
|
shell: bash
|
||||||
|
run: sudo mkdir -p /opt/intel
|
||||||
|
|
||||||
|
- name: Download and install SGX SDK on ubuntu-22.04
|
||||||
|
if: ${{ inputs.os == 'ubuntu-22.04' }}
|
||||||
|
shell: bash
|
||||||
|
run: |
|
||||||
|
sudo wget -O sgx_linux_x64_sdk.bin https://download.01.org/intel-sgx/sgx-linux/2.25/distro/ubuntu22.04-server/sgx_linux_x64_sdk_2.25.100.3.bin
|
||||||
|
sudo chmod +x sgx_linux_x64_sdk.bin
|
||||||
|
echo 'yes' | sudo ./sgx_linux_x64_sdk.bin
|
||||||
|
working-directory: /opt/intel
|
||||||
|
|
||||||
|
- name: Add SGX repository and install libraries
|
||||||
|
shell: bash
|
||||||
|
run: |
|
||||||
|
echo "deb [arch=amd64] https://download.01.org/intel-sgx/sgx_repo/ubuntu $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/intel-sgx.list
|
||||||
|
wget -qO - https://download.01.org/intel-sgx/sgx_repo/ubuntu/intel-sgx-deb.key | sudo apt-key add -
|
||||||
|
sudo apt update
|
||||||
|
sudo apt install -y libsgx-launch libsgx-urts
|
||||||
|
|
||||||
|
- name: Source SGX SDK environment
|
||||||
|
shell: bash
|
||||||
|
run: source /opt/intel/sgxsdk/environment
|
8
.github/workflows/build_llvm_libraries.yml
vendored
8
.github/workflows/build_llvm_libraries.yml
vendored
|
@ -89,14 +89,6 @@ jobs:
|
||||||
./core/deps/llvm/build/share
|
./core/deps/llvm/build/share
|
||||||
key: ${{ steps.create_lib_cache_key.outputs.key}}
|
key: ${{ steps.create_lib_cache_key.outputs.key}}
|
||||||
|
|
||||||
- uses: actions/cache@v4
|
|
||||||
with:
|
|
||||||
path: ~/.ccache
|
|
||||||
key: 0-ccache-${{ inputs.os }}-${{ steps.get_last_commit.outputs.last_commit }}
|
|
||||||
restore-keys: |
|
|
||||||
0-ccache-${{ inputs.os }}
|
|
||||||
if: steps.retrieve_llvm_libs.outputs.cache-hit != 'true' && inputs.os == 'ubuntu-20.04'
|
|
||||||
|
|
||||||
- uses: actions/cache@v4
|
- uses: actions/cache@v4
|
||||||
with:
|
with:
|
||||||
path: ~/.cache/ccache
|
path: ~/.cache/ccache
|
||||||
|
|
2
.github/workflows/coding_guidelines.yml
vendored
2
.github/workflows/coding_guidelines.yml
vendored
|
@ -19,7 +19,7 @@ permissions:
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
compliance_job:
|
compliance_job:
|
||||||
runs-on: ubuntu-20.04
|
runs-on: ubuntu-22.04
|
||||||
steps:
|
steps:
|
||||||
- name: checkout
|
- name: checkout
|
||||||
uses: actions/checkout@v4
|
uses: actions/checkout@v4
|
||||||
|
|
109
.github/workflows/compilation_on_sgx.yml
vendored
109
.github/workflows/compilation_on_sgx.yml
vendored
|
@ -53,6 +53,10 @@ env:
|
||||||
FAST_JIT_BUILD_OPTIONS: "-DWAMR_BUILD_AOT=1 -DWAMR_BUILD_FAST_INTERP=0 -DWAMR_BUILD_INTERP=1 -DWAMR_BUILD_FAST_JIT=1 -DWAMR_BUILD_JIT=0 -DWAMR_BUILD_LAZY_JIT=1"
|
FAST_JIT_BUILD_OPTIONS: "-DWAMR_BUILD_AOT=1 -DWAMR_BUILD_FAST_INTERP=0 -DWAMR_BUILD_INTERP=1 -DWAMR_BUILD_FAST_JIT=1 -DWAMR_BUILD_JIT=0 -DWAMR_BUILD_LAZY_JIT=1"
|
||||||
LLVM_LAZY_JIT_BUILD_OPTIONS: "-DWAMR_BUILD_AOT=1 -DWAMR_BUILD_FAST_INTERP=0 -DWAMR_BUILD_INTERP=0 -DWAMR_BUILD_JIT=1 -DWAMR_BUILD_LAZY_JIT=1"
|
LLVM_LAZY_JIT_BUILD_OPTIONS: "-DWAMR_BUILD_AOT=1 -DWAMR_BUILD_FAST_INTERP=0 -DWAMR_BUILD_INTERP=0 -DWAMR_BUILD_JIT=1 -DWAMR_BUILD_LAZY_JIT=1"
|
||||||
LLVM_EAGER_JIT_BUILD_OPTIONS: "-DWAMR_BUILD_AOT=1 -DWAMR_BUILD_FAST_INTERP=0 -DWAMR_BUILD_INTERP=0 -DWAMR_BUILD_JIT=1 -DWAMR_BUILD_LAZY_JIT=0"
|
LLVM_EAGER_JIT_BUILD_OPTIONS: "-DWAMR_BUILD_AOT=1 -DWAMR_BUILD_FAST_INTERP=0 -DWAMR_BUILD_INTERP=0 -DWAMR_BUILD_JIT=1 -DWAMR_BUILD_LAZY_JIT=0"
|
||||||
|
# For Spec Test
|
||||||
|
DEFAULT_TEST_OPTIONS: "-s spec -x -p -b"
|
||||||
|
SIMD_TEST_OPTIONS: "-s spec -x -p -b -S"
|
||||||
|
XIP_TEST_OPTIONS: "-s spec -x -p -b -X"
|
||||||
|
|
||||||
permissions:
|
permissions:
|
||||||
contents: read
|
contents: read
|
||||||
|
@ -64,7 +68,7 @@ jobs:
|
||||||
actions: write
|
actions: write
|
||||||
uses: ./.github/workflows/build_llvm_libraries.yml
|
uses: ./.github/workflows/build_llvm_libraries.yml
|
||||||
with:
|
with:
|
||||||
os: "ubuntu-20.04"
|
os: ubuntu-22.04
|
||||||
arch: "X86"
|
arch: "X86"
|
||||||
|
|
||||||
build_iwasm:
|
build_iwasm:
|
||||||
|
@ -102,7 +106,7 @@ jobs:
|
||||||
"-DWAMR_DISABLE_HW_BOUND_CHECK=1",
|
"-DWAMR_DISABLE_HW_BOUND_CHECK=1",
|
||||||
"-DWAMR_BUILD_SGX_IPFS=1",
|
"-DWAMR_BUILD_SGX_IPFS=1",
|
||||||
]
|
]
|
||||||
os: [ubuntu-20.04]
|
os: [ubuntu-22.04]
|
||||||
platform: [linux-sgx]
|
platform: [linux-sgx]
|
||||||
exclude:
|
exclude:
|
||||||
# incompatible mode and feature
|
# incompatible mode and feature
|
||||||
|
@ -110,22 +114,14 @@ jobs:
|
||||||
- make_options_run_mode: $AOT_BUILD_OPTIONS
|
- make_options_run_mode: $AOT_BUILD_OPTIONS
|
||||||
make_options_feature: "-DWAMR_BUILD_MINI_LOADER=1"
|
make_options_feature: "-DWAMR_BUILD_MINI_LOADER=1"
|
||||||
steps:
|
steps:
|
||||||
- name: install SGX SDK and necessary libraries
|
|
||||||
run: |
|
|
||||||
mkdir -p /opt/intel
|
|
||||||
cd /opt/intel
|
|
||||||
wget https://download.01.org/intel-sgx/sgx-linux/2.15/distro/ubuntu20.04-server/sgx_linux_x64_sdk_2.15.100.3.bin
|
|
||||||
chmod +x sgx_linux_x64_sdk_2.15.100.3.bin
|
|
||||||
echo 'yes' | ./sgx_linux_x64_sdk_2.15.100.3.bin
|
|
||||||
echo 'deb [arch=amd64] https://download.01.org/intel-sgx/sgx_repo/ubuntu focal main' | sudo tee /etc/apt/sources.list.d/intel-sgx.list
|
|
||||||
wget -qO - https://download.01.org/intel-sgx/sgx_repo/ubuntu/intel-sgx-deb.key | sudo apt-key add -
|
|
||||||
sudo apt update
|
|
||||||
sudo apt install -y libsgx-launch libsgx-urts
|
|
||||||
source /opt/intel/sgxsdk/environment
|
|
||||||
|
|
||||||
- name: checkout
|
- name: checkout
|
||||||
uses: actions/checkout@v4
|
uses: actions/checkout@v4
|
||||||
|
|
||||||
|
- name: install SGX SDK and necessary libraries
|
||||||
|
uses: ./.github/actions/install-linux-sgx
|
||||||
|
with:
|
||||||
|
os: ${{ matrix.os }}
|
||||||
|
|
||||||
- name: Build iwasm
|
- name: Build iwasm
|
||||||
run: |
|
run: |
|
||||||
mkdir build && cd build
|
mkdir build && cd build
|
||||||
|
@ -150,7 +146,7 @@ jobs:
|
||||||
#$LLVM_LAZY_JIT_BUILD_OPTIONS,
|
#$LLVM_LAZY_JIT_BUILD_OPTIONS,
|
||||||
#$LLVM_EAGER_JIT_BUILD_OPTIONS,
|
#$LLVM_EAGER_JIT_BUILD_OPTIONS,
|
||||||
]
|
]
|
||||||
os: [ubuntu-20.04]
|
os: [ubuntu-22.04]
|
||||||
wasi_sdk_release:
|
wasi_sdk_release:
|
||||||
[
|
[
|
||||||
"https://github.com/WebAssembly/wasi-sdk/releases/download/wasi-sdk-19/wasi-sdk-19.0-linux.tar.gz",
|
"https://github.com/WebAssembly/wasi-sdk/releases/download/wasi-sdk-19/wasi-sdk-19.0-linux.tar.gz",
|
||||||
|
@ -165,7 +161,7 @@ jobs:
|
||||||
]
|
]
|
||||||
platform: [linux-sgx]
|
platform: [linux-sgx]
|
||||||
include:
|
include:
|
||||||
- os: ubuntu-20.04
|
- os: ubuntu-22.04
|
||||||
llvm_cache_key: ${{ needs.build_llvm_libraries.outputs.cache_key }}
|
llvm_cache_key: ${{ needs.build_llvm_libraries.outputs.cache_key }}
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
|
@ -186,33 +182,10 @@ jobs:
|
||||||
sudo tar -xzf wabt-1.0.31-*.tar.gz
|
sudo tar -xzf wabt-1.0.31-*.tar.gz
|
||||||
sudo mv wabt-1.0.31 wabt
|
sudo mv wabt-1.0.31 wabt
|
||||||
|
|
||||||
- name: build wasi-libc (needed for wasi-threads)
|
|
||||||
run: |
|
|
||||||
mkdir wasi-libc
|
|
||||||
cd wasi-libc
|
|
||||||
git init
|
|
||||||
# "Fix a_store operation in atomic.h" commit on main branch
|
|
||||||
git fetch https://github.com/WebAssembly/wasi-libc \
|
|
||||||
1dfe5c302d1c5ab621f7abf04620fae92700fd22
|
|
||||||
git checkout FETCH_HEAD
|
|
||||||
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: |
|
uses: ./.github/actions/install-linux-sgx
|
||||||
mkdir -p /opt/intel
|
with:
|
||||||
cd /opt/intel
|
os: ${{ matrix.os }}
|
||||||
wget https://download.01.org/intel-sgx/sgx-linux/2.15/distro/ubuntu20.04-server/sgx_linux_x64_sdk_2.15.100.3.bin
|
|
||||||
chmod +x sgx_linux_x64_sdk_2.15.100.3.bin
|
|
||||||
echo 'yes' | ./sgx_linux_x64_sdk_2.15.100.3.bin
|
|
||||||
echo 'deb [arch=amd64] https://download.01.org/intel-sgx/sgx_repo/ubuntu focal main' | sudo tee /etc/apt/sources.list.d/intel-sgx.list
|
|
||||||
wget -qO - https://download.01.org/intel-sgx/sgx_repo/ubuntu/intel-sgx-deb.key | sudo apt-key add -
|
|
||||||
sudo apt update
|
|
||||||
sudo apt install -y libsgx-launch libsgx-urts
|
|
||||||
|
|
||||||
- name: Build iwasm for testing samples
|
- name: Build iwasm for testing samples
|
||||||
run: |
|
run: |
|
||||||
|
@ -271,28 +244,32 @@ jobs:
|
||||||
|
|
||||||
spec_test_default:
|
spec_test_default:
|
||||||
needs: [build_iwasm, build_llvm_libraries]
|
needs: [build_iwasm, build_llvm_libraries]
|
||||||
runs-on: ubuntu-20.04
|
runs-on: ${{ matrix.os }}
|
||||||
strategy:
|
strategy:
|
||||||
matrix:
|
matrix:
|
||||||
running_mode: ["classic-interp", "fast-interp", "aot", "fast-jit"]
|
#(workaround) disable "fast-interp" because of SIMDE
|
||||||
# FIXME: use binary release(adding -b) instead of building from source after upgrading to 22.04
|
running_mode: ["classic-interp", "aot", "fast-jit"]
|
||||||
test_option: ["-x -p -s spec -P", "-x -p -s spec -S -P", "-x -p -s spec -X -P"]
|
test_option:
|
||||||
llvm_cache_key: ["${{ needs.build_llvm_libraries.outputs.cache_key }}"]
|
[$DEFAULT_TEST_OPTIONS, $SIMD_TEST_OPTIONS, $XIP_TEST_OPTIONS]
|
||||||
|
os: [ubuntu-22.04]
|
||||||
exclude:
|
exclude:
|
||||||
# classic-interp, fast-interp and fast-jit don't support simd
|
# classic-interp, fast-interp and fast-jit don't support simd
|
||||||
- running_mode: "classic-interp"
|
- running_mode: "classic-interp"
|
||||||
test_option: "-x -p -s spec -S -P"
|
test_option: $SIMD_TEST_OPTIONS
|
||||||
- running_mode: "fast-interp"
|
- running_mode: "fast-interp"
|
||||||
test_option: "-x -p -s spec -S -P"
|
test_option: $SIMD_TEST_OPTIONS
|
||||||
- running_mode: "fast-jit"
|
- running_mode: "fast-jit"
|
||||||
test_option: "-x -p -s spec -S -P"
|
test_option: $SIMD_TEST_OPTIONS
|
||||||
# classic-interp, fast-interp and fast jit don't support XIP
|
# classic-interp, fast-interp and fast jit don't support XIP
|
||||||
- running_mode: "classic-interp"
|
- running_mode: "classic-interp"
|
||||||
test_option: "-x -p -s spec -X -P"
|
test_option: $XIP_TEST_OPTIONS
|
||||||
- running_mode: "fast-interp"
|
- running_mode: "fast-interp"
|
||||||
test_option: "-x -p -s spec -X -P"
|
test_option: $XIP_TEST_OPTIONS
|
||||||
- running_mode: "fast-jit"
|
- running_mode: "fast-jit"
|
||||||
test_option: "-x -p -s spec -X -P"
|
test_option: $XIP_TEST_OPTIONS
|
||||||
|
include:
|
||||||
|
- os: ubuntu-22.04
|
||||||
|
llvm_cache_key: ${{ needs.build_llvm_libraries.outputs.cache_key }}
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: checkout
|
- name: checkout
|
||||||
|
@ -316,19 +293,19 @@ jobs:
|
||||||
run: echo "::error::can not get prebuilt llvm libraries" && exit 1
|
run: echo "::error::can not get prebuilt llvm libraries" && exit 1
|
||||||
|
|
||||||
- name: install SGX SDK and necessary libraries
|
- name: install SGX SDK and necessary libraries
|
||||||
run: |
|
uses: ./.github/actions/install-linux-sgx
|
||||||
mkdir -p /opt/intel
|
with:
|
||||||
cd /opt/intel
|
os: ${{ matrix.os }}
|
||||||
wget https://download.01.org/intel-sgx/sgx-linux/2.15/distro/ubuntu20.04-server/sgx_linux_x64_sdk_2.15.100.3.bin
|
|
||||||
chmod +x sgx_linux_x64_sdk_2.15.100.3.bin
|
|
||||||
echo 'yes' | ./sgx_linux_x64_sdk_2.15.100.3.bin
|
|
||||||
echo 'deb [arch=amd64] https://download.01.org/intel-sgx/sgx_repo/ubuntu focal main' | sudo tee /etc/apt/sources.list.d/intel-sgx.list
|
|
||||||
wget -qO - https://download.01.org/intel-sgx/sgx_repo/ubuntu/intel-sgx-deb.key | sudo apt-key add -
|
|
||||||
sudo apt update
|
|
||||||
sudo apt install -y libsgx-launch libsgx-urts
|
|
||||||
|
|
||||||
- name: install for wabt compilation
|
#workaround about a https://github.com/actions/runner-images/issues/6680#issuecomment-2640923706
|
||||||
run: sudo apt update && sudo apt install -y ninja-build
|
- name: Increase swapfile
|
||||||
|
run: |
|
||||||
|
sudo swapoff -a
|
||||||
|
sudo fallocate -l 15G /swapfile
|
||||||
|
sudo chmod 600 /swapfile
|
||||||
|
sudo mkswap /swapfile
|
||||||
|
sudo swapon /swapfile
|
||||||
|
sudo swapon --show
|
||||||
|
|
||||||
- name: run spec tests
|
- name: run spec tests
|
||||||
run: |
|
run: |
|
||||||
|
|
74
.github/workflows/nightly_run.yml
vendored
74
.github/workflows/nightly_run.yml
vendored
|
@ -48,15 +48,7 @@ permissions:
|
||||||
contents: read
|
contents: read
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
build_llvm_libraries_on_ubuntu_2004:
|
build_llvm_libraries_on_ubuntu:
|
||||||
permissions:
|
|
||||||
contents: read
|
|
||||||
actions: write
|
|
||||||
uses: ./.github/workflows/build_llvm_libraries.yml
|
|
||||||
with:
|
|
||||||
os: "ubuntu-20.04"
|
|
||||||
arch: "X86"
|
|
||||||
build_llvm_libraries_on_ubuntu_2204:
|
|
||||||
permissions:
|
permissions:
|
||||||
contents: read
|
contents: read
|
||||||
actions: write
|
actions: write
|
||||||
|
@ -66,16 +58,13 @@ jobs:
|
||||||
arch: "X86"
|
arch: "X86"
|
||||||
|
|
||||||
build_wamrc:
|
build_wamrc:
|
||||||
needs:
|
needs: build_llvm_libraries_on_ubuntu
|
||||||
[
|
|
||||||
build_llvm_libraries_on_ubuntu_2004,
|
|
||||||
]
|
|
||||||
runs-on: ${{ matrix.os }}
|
runs-on: ${{ matrix.os }}
|
||||||
strategy:
|
strategy:
|
||||||
matrix:
|
matrix:
|
||||||
include:
|
include:
|
||||||
- os: ubuntu-20.04
|
- os: ubuntu-22.04
|
||||||
llvm_cache_key: ${{ needs.build_llvm_libraries_on_ubuntu_2004.outputs.cache_key }}
|
llvm_cache_key: ${{ needs.build_llvm_libraries_on_ubuntu.outputs.cache_key }}
|
||||||
steps:
|
steps:
|
||||||
- name: checkout
|
- name: checkout
|
||||||
uses: actions/checkout@v4
|
uses: actions/checkout@v4
|
||||||
|
@ -106,10 +95,7 @@ jobs:
|
||||||
working-directory: wamr-compiler
|
working-directory: wamr-compiler
|
||||||
|
|
||||||
build_iwasm:
|
build_iwasm:
|
||||||
needs:
|
needs: build_llvm_libraries_on_ubuntu
|
||||||
[
|
|
||||||
build_llvm_libraries_on_ubuntu_2004,
|
|
||||||
]
|
|
||||||
runs-on: ${{ matrix.os }}
|
runs-on: ${{ matrix.os }}
|
||||||
strategy:
|
strategy:
|
||||||
matrix:
|
matrix:
|
||||||
|
@ -144,7 +130,7 @@ jobs:
|
||||||
"-DWAMR_BUILD_MULTI_MEMORY=1",
|
"-DWAMR_BUILD_MULTI_MEMORY=1",
|
||||||
"-DWAMR_BUILD_SHARED=1",
|
"-DWAMR_BUILD_SHARED=1",
|
||||||
]
|
]
|
||||||
os: [ubuntu-20.04]
|
os: [ubuntu-22.04]
|
||||||
platform: [android, linux]
|
platform: [android, linux]
|
||||||
exclude:
|
exclude:
|
||||||
# incompatible feature and platform
|
# incompatible feature and platform
|
||||||
|
@ -241,8 +227,8 @@ jobs:
|
||||||
- make_options_run_mode: $LLVM_EAGER_JIT_BUILD_OPTIONS
|
- make_options_run_mode: $LLVM_EAGER_JIT_BUILD_OPTIONS
|
||||||
platform: android
|
platform: android
|
||||||
include:
|
include:
|
||||||
- os: ubuntu-20.04
|
- os: ubuntu-22.04
|
||||||
llvm_cache_key: ${{ needs.build_llvm_libraries_on_ubuntu_2004.outputs.cache_key }}
|
llvm_cache_key: ${{ needs.build_llvm_libraries_on_ubuntu.outputs.cache_key }}
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: checkout
|
- name: checkout
|
||||||
|
@ -375,12 +361,7 @@ jobs:
|
||||||
working-directory: wamr/product-mini/platforms/linux
|
working-directory: wamr/product-mini/platforms/linux
|
||||||
|
|
||||||
build_samples_wasm_c_api:
|
build_samples_wasm_c_api:
|
||||||
needs:
|
needs: [build_iwasm, build_llvm_libraries_on_ubuntu, build_wamrc]
|
||||||
[
|
|
||||||
build_iwasm,
|
|
||||||
build_llvm_libraries_on_ubuntu_2004,
|
|
||||||
build_wamrc,
|
|
||||||
]
|
|
||||||
runs-on: ${{ matrix.os }}
|
runs-on: ${{ matrix.os }}
|
||||||
strategy:
|
strategy:
|
||||||
fail-fast: false
|
fail-fast: false
|
||||||
|
@ -396,7 +377,7 @@ jobs:
|
||||||
$LLVM_EAGER_JIT_BUILD_OPTIONS,
|
$LLVM_EAGER_JIT_BUILD_OPTIONS,
|
||||||
$MULTI_TIER_JIT_BUILD_OPTIONS,
|
$MULTI_TIER_JIT_BUILD_OPTIONS,
|
||||||
]
|
]
|
||||||
os: [ubuntu-20.04]
|
os: [ubuntu-22.04]
|
||||||
wasi_sdk_release:
|
wasi_sdk_release:
|
||||||
[
|
[
|
||||||
"https://github.com/WebAssembly/wasi-sdk/releases/download/wasi-sdk-20/wasi-sdk-20.0-linux.tar.gz",
|
"https://github.com/WebAssembly/wasi-sdk/releases/download/wasi-sdk-20/wasi-sdk-20.0-linux.tar.gz",
|
||||||
|
@ -406,8 +387,8 @@ jobs:
|
||||||
"https://github.com/WebAssembly/wabt/releases/download/1.0.31/wabt-1.0.31-ubuntu.tar.gz",
|
"https://github.com/WebAssembly/wabt/releases/download/1.0.31/wabt-1.0.31-ubuntu.tar.gz",
|
||||||
]
|
]
|
||||||
include:
|
include:
|
||||||
- os: ubuntu-20.04
|
- os: ubuntu-22.04
|
||||||
llvm_cache_key: ${{ needs.build_llvm_libraries_on_ubuntu_2004.outputs.cache_key }}
|
llvm_cache_key: ${{ needs.build_llvm_libraries_on_ubuntu.outputs.cache_key }}
|
||||||
exclude:
|
exclude:
|
||||||
- make_options: $MULTI_TIER_JIT_BUILD_OPTIONS
|
- make_options: $MULTI_TIER_JIT_BUILD_OPTIONS
|
||||||
sanitizer: asan
|
sanitizer: asan
|
||||||
|
@ -457,16 +438,11 @@ jobs:
|
||||||
working-directory: samples/wasm-c-api
|
working-directory: samples/wasm-c-api
|
||||||
|
|
||||||
build_samples_others:
|
build_samples_others:
|
||||||
needs:
|
needs: [build_iwasm, build_llvm_libraries_on_ubuntu, build_wamrc]
|
||||||
[
|
|
||||||
build_iwasm,
|
|
||||||
build_llvm_libraries_on_ubuntu_2004,
|
|
||||||
build_wamrc,
|
|
||||||
]
|
|
||||||
runs-on: ${{ matrix.os }}
|
runs-on: ${{ matrix.os }}
|
||||||
strategy:
|
strategy:
|
||||||
matrix:
|
matrix:
|
||||||
os: [ubuntu-20.04]
|
os: [ubuntu-22.04]
|
||||||
wasi_sdk_release:
|
wasi_sdk_release:
|
||||||
[
|
[
|
||||||
"https://github.com/WebAssembly/wasi-sdk/releases/download/wasi-sdk-20/wasi-sdk-20.0-linux.tar.gz",
|
"https://github.com/WebAssembly/wasi-sdk/releases/download/wasi-sdk-20/wasi-sdk-20.0-linux.tar.gz",
|
||||||
|
@ -476,8 +452,8 @@ jobs:
|
||||||
"https://github.com/WebAssembly/wabt/releases/download/1.0.31/wabt-1.0.31-ubuntu.tar.gz",
|
"https://github.com/WebAssembly/wabt/releases/download/1.0.31/wabt-1.0.31-ubuntu.tar.gz",
|
||||||
]
|
]
|
||||||
include:
|
include:
|
||||||
- os: ubuntu-20.04
|
- os: ubuntu-22.04
|
||||||
llvm_cache_key: ${{ needs.build_llvm_libraries_on_ubuntu_2004.outputs.cache_key }}
|
llvm_cache_key: ${{ needs.build_llvm_libraries_on_ubuntu.outputs.cache_key }}
|
||||||
steps:
|
steps:
|
||||||
- name: checkout
|
- name: checkout
|
||||||
uses: actions/checkout@v4
|
uses: actions/checkout@v4
|
||||||
|
@ -613,18 +589,12 @@ jobs:
|
||||||
./shared_heap_test --aot
|
./shared_heap_test --aot
|
||||||
|
|
||||||
test:
|
test:
|
||||||
needs:
|
needs: [build_iwasm, build_llvm_libraries_on_ubuntu, build_wamrc]
|
||||||
[
|
|
||||||
build_iwasm,
|
|
||||||
build_llvm_libraries_on_ubuntu_2004,
|
|
||||||
build_llvm_libraries_on_ubuntu_2204,
|
|
||||||
build_wamrc,
|
|
||||||
]
|
|
||||||
runs-on: ${{ matrix.os }}
|
runs-on: ${{ matrix.os }}
|
||||||
strategy:
|
strategy:
|
||||||
fail-fast: false
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
os: [ubuntu-20.04, ubuntu-22.04]
|
os: [ubuntu-22.04]
|
||||||
sanitizer: ["", "ubsan", "asan", "tsan"]
|
sanitizer: ["", "ubsan", "asan", "tsan"]
|
||||||
running_mode:
|
running_mode:
|
||||||
[
|
[
|
||||||
|
@ -648,17 +618,11 @@ jobs:
|
||||||
"https://github.com/WebAssembly/wasi-sdk/releases/download/wasi-sdk-20/wasi-sdk-20.0-linux.tar.gz",
|
"https://github.com/WebAssembly/wasi-sdk/releases/download/wasi-sdk-20/wasi-sdk-20.0-linux.tar.gz",
|
||||||
]
|
]
|
||||||
include:
|
include:
|
||||||
- os: ubuntu-20.04
|
|
||||||
llvm_cache_key: ${{ needs.build_llvm_libraries_on_ubuntu_2004.outputs.cache_key }}
|
|
||||||
ubuntu_version: "20.04"
|
|
||||||
- os: ubuntu-22.04
|
- os: ubuntu-22.04
|
||||||
llvm_cache_key: ${{ needs.build_llvm_libraries_on_ubuntu_2204.outputs.cache_key }}
|
llvm_cache_key: ${{ needs.build_llvm_libraries_on_ubuntu.outputs.cache_key }}
|
||||||
ubuntu_version: "22.04"
|
ubuntu_version: "22.04"
|
||||||
|
|
||||||
exclude:
|
exclude:
|
||||||
# incompatible modes and features
|
|
||||||
- os: ubuntu-20.04
|
|
||||||
sanitizer: tsan
|
|
||||||
# asan works only for aot now
|
# asan works only for aot now
|
||||||
- running_mode: "classic-interp"
|
- running_mode: "classic-interp"
|
||||||
sanitizer: asan
|
sanitizer: asan
|
||||||
|
|
57
.github/workflows/release_process.yml
vendored
57
.github/workflows/release_process.yml
vendored
|
@ -58,16 +58,6 @@ jobs:
|
||||||
|
|
||||||
#
|
#
|
||||||
# LLVM_LIBRARIES
|
# LLVM_LIBRARIES
|
||||||
build_llvm_libraries_on_ubuntu_2004:
|
|
||||||
permissions:
|
|
||||||
contents: read
|
|
||||||
actions: write
|
|
||||||
needs: [create_tag, create_release]
|
|
||||||
uses: ./.github/workflows/build_llvm_libraries.yml
|
|
||||||
with:
|
|
||||||
os: "ubuntu-20.04"
|
|
||||||
arch: "AArch64 ARM Mips RISCV X86"
|
|
||||||
|
|
||||||
build_llvm_libraries_on_ubuntu_2204:
|
build_llvm_libraries_on_ubuntu_2204:
|
||||||
permissions:
|
permissions:
|
||||||
contents: read
|
contents: read
|
||||||
|
@ -100,18 +90,6 @@ jobs:
|
||||||
|
|
||||||
#
|
#
|
||||||
# WAMRC
|
# WAMRC
|
||||||
release_wamrc_on_ubuntu_2004:
|
|
||||||
permissions:
|
|
||||||
contents: write # upload release artifact
|
|
||||||
needs: [create_tag, create_release, build_llvm_libraries_on_ubuntu_2004]
|
|
||||||
uses: ./.github/workflows/build_wamrc.yml
|
|
||||||
with:
|
|
||||||
llvm_cache_key: ${{ needs.build_llvm_libraries_on_ubuntu_2004.outputs.cache_key }}
|
|
||||||
release: true
|
|
||||||
runner: ubuntu-20.04
|
|
||||||
upload_url: ${{ needs.create_release.outputs.upload_url }}
|
|
||||||
ver_num: ${{ needs.create_tag.outputs.new_ver}}
|
|
||||||
|
|
||||||
release_wamrc_on_ubuntu_2204:
|
release_wamrc_on_ubuntu_2204:
|
||||||
permissions:
|
permissions:
|
||||||
contents: write # upload release artifact
|
contents: write # upload release artifact
|
||||||
|
@ -150,18 +128,6 @@ jobs:
|
||||||
|
|
||||||
#
|
#
|
||||||
# IWASM
|
# IWASM
|
||||||
release_iwasm_on_ubuntu_2004:
|
|
||||||
permissions:
|
|
||||||
contents: write # upload release artifact
|
|
||||||
needs: [create_tag, create_release, build_llvm_libraries_on_ubuntu_2004]
|
|
||||||
uses: ./.github/workflows/build_iwasm_release.yml
|
|
||||||
with:
|
|
||||||
cwd: product-mini/platforms/linux
|
|
||||||
llvm_cache_key: ${{ needs.build_llvm_libraries_on_ubuntu_2004.outputs.cache_key }}
|
|
||||||
runner: ubuntu-20.04
|
|
||||||
upload_url: ${{ needs.create_release.outputs.upload_url }}
|
|
||||||
ver_num: ${{ needs.create_tag.outputs.new_ver}}
|
|
||||||
|
|
||||||
release_iwasm_on_ubuntu_2204:
|
release_iwasm_on_ubuntu_2204:
|
||||||
permissions:
|
permissions:
|
||||||
contents: write # upload release artifact
|
contents: write # upload release artifact
|
||||||
|
@ -200,19 +166,6 @@ jobs:
|
||||||
|
|
||||||
#
|
#
|
||||||
# WAMR_SDK
|
# WAMR_SDK
|
||||||
release_wamr_sdk_on_ubuntu_2004:
|
|
||||||
permissions:
|
|
||||||
contents: write # upload release artifact
|
|
||||||
needs: [create_tag, create_release]
|
|
||||||
uses: ./.github/workflows/build_wamr_sdk.yml
|
|
||||||
with:
|
|
||||||
config_file: wamr_config_ubuntu_release.cmake
|
|
||||||
runner: ubuntu-20.04
|
|
||||||
upload_url: ${{ needs.create_release.outputs.upload_url }}
|
|
||||||
ver_num: ${{ needs.create_tag.outputs.new_ver}}
|
|
||||||
wasi_sdk_url: https://github.com/WebAssembly/wasi-sdk/releases/download/wasi-sdk-19/wasi-sdk-19.0-linux.tar.gz
|
|
||||||
wamr_app_framework_url: https://github.com/bytecodealliance/wamr-app-framework.git
|
|
||||||
|
|
||||||
release_wamr_sdk_on_ubuntu_2204:
|
release_wamr_sdk_on_ubuntu_2204:
|
||||||
permissions:
|
permissions:
|
||||||
contents: write # upload release artifact
|
contents: write # upload release artifact
|
||||||
|
@ -264,16 +217,6 @@ jobs:
|
||||||
|
|
||||||
#
|
#
|
||||||
# WAMR_LLDB
|
# WAMR_LLDB
|
||||||
release_wamr_lldb_on_ubuntu_2004:
|
|
||||||
permissions:
|
|
||||||
contents: write # upload release artifact
|
|
||||||
needs: [create_tag, create_release]
|
|
||||||
uses: ./.github/workflows/build_wamr_lldb.yml
|
|
||||||
with:
|
|
||||||
runner: ubuntu-20.04
|
|
||||||
upload_url: ${{ needs.create_release.outputs.upload_url }}
|
|
||||||
ver_num: ${{ needs.create_tag.outputs.new_ver}}
|
|
||||||
|
|
||||||
release_wamr_lldb_on_ubuntu_2204:
|
release_wamr_lldb_on_ubuntu_2204:
|
||||||
permissions:
|
permissions:
|
||||||
contents: write # upload release artifact
|
contents: write # upload release artifact
|
||||||
|
|
|
@ -13,8 +13,8 @@ import subprocess
|
||||||
import sys
|
import sys
|
||||||
import unittest
|
import unittest
|
||||||
|
|
||||||
CLANG_FORMAT_CMD = "clang-format-12"
|
CLANG_FORMAT_CMD = "clang-format-14"
|
||||||
GIT_CLANG_FORMAT_CMD = "git-clang-format-12"
|
GIT_CLANG_FORMAT_CMD = "git-clang-format-14"
|
||||||
|
|
||||||
# glob style patterns
|
# glob style patterns
|
||||||
EXCLUDE_PATHS = [
|
EXCLUDE_PATHS = [
|
||||||
|
@ -32,7 +32,7 @@ EXCLUDE_PATHS = [
|
||||||
"**/tests/wamr-test-suites/workspace/*",
|
"**/tests/wamr-test-suites/workspace/*",
|
||||||
]
|
]
|
||||||
|
|
||||||
C_SUFFIXES = [".c", ".cpp", ".h"]
|
C_SUFFIXES = [".c", ".cc", ".cpp", ".h"]
|
||||||
INVALID_DIR_NAME_SEGMENT = r"([a-zA-Z0-9]+\_[a-zA-Z0-9]+)"
|
INVALID_DIR_NAME_SEGMENT = r"([a-zA-Z0-9]+\_[a-zA-Z0-9]+)"
|
||||||
INVALID_FILE_NAME_SEGMENT = r"([a-zA-Z0-9]+\-[a-zA-Z0-9]+)"
|
INVALID_FILE_NAME_SEGMENT = r"([a-zA-Z0-9]+\-[a-zA-Z0-9]+)"
|
||||||
|
|
||||||
|
@ -93,20 +93,19 @@ def run_clang_format(file_path: Path, root: Path) -> bool:
|
||||||
|
|
||||||
def run_clang_format_diff(root: Path, commits: str) -> bool:
|
def run_clang_format_diff(root: Path, commits: str) -> bool:
|
||||||
"""
|
"""
|
||||||
Use `clang-format-12` or `git-clang-format-12` to check code format of
|
Use `clang-format-14` or `git-clang-format-14` to check code format of
|
||||||
the PR, with a commit range specified. It is required to format the
|
the PR, with a commit range specified. It is required to format the
|
||||||
code before committing the PR, or it might fail to pass the CI check:
|
code before committing the PR, or it might fail to pass the CI check:
|
||||||
|
|
||||||
1. Install clang-format-12.0.0
|
1. Install clang-format-14.0.0
|
||||||
Normally we can install it by `sudo apt-get install clang-format-12`,
|
Normally we can install it by `sudo apt-get install clang-format-14`,
|
||||||
or download the `clang+llvm-12.0.0-xxx-tar.xz` package from
|
or download the package from https://github.com/llvm/llvm-project/releases
|
||||||
https://github.com/llvm/llvm-project/releases/tag/llvmorg-12.0.0
|
|
||||||
and install it
|
and install it
|
||||||
|
|
||||||
2. Format the C/C++ source file
|
2. Format the C/C++ source file
|
||||||
``` shell
|
``` shell
|
||||||
cd path/to/wamr/root
|
cd path/to/wamr/root
|
||||||
clang-format-12 --style file -i path/to/file
|
clang-format-14 --style file -i path/to/file
|
||||||
```
|
```
|
||||||
|
|
||||||
The code wrapped by `/* clang-format off */` and `/* clang-format on */`
|
The code wrapped by `/* clang-format off */` and `/* clang-format on */`
|
||||||
|
|
|
@ -1541,11 +1541,10 @@ if __name__ == "__main__":
|
||||||
|
|
||||||
if test_aot:
|
if test_aot:
|
||||||
new_module_aot = os.path.join(tempfile.gettempdir(), name_new + ".aot")
|
new_module_aot = os.path.join(tempfile.gettempdir(), name_new + ".aot")
|
||||||
r = compile_wasm_to_aot(new_module, new_module_aot, True, opts, r)
|
|
||||||
try:
|
try:
|
||||||
assert_prompt(r, ['Compile success'], opts.start_timeout, True)
|
compile_wasm_to_aot(new_module, new_module_aot, None, opts, r)
|
||||||
except:
|
except Exception as e:
|
||||||
raise Exception("compile wasm to aot failed")
|
raise Exception(f"compile wasm to aot failed. {e}")
|
||||||
# add aot module into temp_file_repo[]
|
# add aot module into temp_file_repo[]
|
||||||
temp_file_repo.append(new_module_aot)
|
temp_file_repo.append(new_module_aot)
|
||||||
else:
|
else:
|
||||||
|
|
|
@ -361,7 +361,7 @@ function sightglass_test()
|
||||||
|
|
||||||
function setup_wabt()
|
function setup_wabt()
|
||||||
{
|
{
|
||||||
WABT_VERSION=1.0.36
|
WABT_VERSION=1.0.37
|
||||||
if [ ${WABT_BINARY_RELEASE} == "YES" ]; then
|
if [ ${WABT_BINARY_RELEASE} == "YES" ]; then
|
||||||
echo "download a binary release and install"
|
echo "download a binary release and install"
|
||||||
local WAT2WASM=${WORK_DIR}/wabt/out/gcc/Release/wat2wasm
|
local WAT2WASM=${WORK_DIR}/wabt/out/gcc/Release/wat2wasm
|
||||||
|
|
Loading…
Reference in New Issue
Block a user