summaryrefslogtreecommitdiffstats
path: root/fluent-bit/lib/wasm-micro-runtime-WAMR-1.2.2/.github
diff options
context:
space:
mode:
Diffstat (limited to 'fluent-bit/lib/wasm-micro-runtime-WAMR-1.2.2/.github')
-rw-r--r--fluent-bit/lib/wasm-micro-runtime-WAMR-1.2.2/.github/scripts/extract_from_release_notes.py60
-rw-r--r--fluent-bit/lib/wasm-micro-runtime-WAMR-1.2.2/.github/scripts/fetch_and_compare_version.py123
-rw-r--r--fluent-bit/lib/wasm-micro-runtime-WAMR-1.2.2/.github/scripts/reuse_latest_release_binaries.py102
-rw-r--r--fluent-bit/lib/wasm-micro-runtime-WAMR-1.2.2/.github/workflows/build_docker_images.yml89
-rw-r--r--fluent-bit/lib/wasm-micro-runtime-WAMR-1.2.2/.github/workflows/build_iwasm_release.yml108
-rw-r--r--fluent-bit/lib/wasm-micro-runtime-WAMR-1.2.2/.github/workflows/build_llvm_libraries.yml91
-rw-r--r--fluent-bit/lib/wasm-micro-runtime-WAMR-1.2.2/.github/workflows/build_wamr_lldb.yml197
-rw-r--r--fluent-bit/lib/wasm-micro-runtime-WAMR-1.2.2/.github/workflows/build_wamr_sdk.yml78
-rw-r--r--fluent-bit/lib/wasm-micro-runtime-WAMR-1.2.2/.github/workflows/build_wamr_vscode_ext.yml73
-rw-r--r--fluent-bit/lib/wasm-micro-runtime-WAMR-1.2.2/.github/workflows/build_wamrc.yml86
-rw-r--r--fluent-bit/lib/wasm-micro-runtime-WAMR-1.2.2/.github/workflows/coding_guidelines.yml28
-rw-r--r--fluent-bit/lib/wasm-micro-runtime-WAMR-1.2.2/.github/workflows/compilation_on_android_ubuntu.yml645
-rw-r--r--fluent-bit/lib/wasm-micro-runtime-WAMR-1.2.2/.github/workflows/compilation_on_macos.yml331
-rw-r--r--fluent-bit/lib/wasm-micro-runtime-WAMR-1.2.2/.github/workflows/compilation_on_nuttx.yml134
-rw-r--r--fluent-bit/lib/wasm-micro-runtime-WAMR-1.2.2/.github/workflows/compilation_on_sgx.yml401
-rw-r--r--fluent-bit/lib/wasm-micro-runtime-WAMR-1.2.2/.github/workflows/compilation_on_windows.yml77
-rw-r--r--fluent-bit/lib/wasm-micro-runtime-WAMR-1.2.2/.github/workflows/create_tag.yml68
-rw-r--r--fluent-bit/lib/wasm-micro-runtime-WAMR-1.2.2/.github/workflows/release_process.yml215
-rw-r--r--fluent-bit/lib/wasm-micro-runtime-WAMR-1.2.2/.github/workflows/reuse_latest_release_binaries.yml68
-rw-r--r--fluent-bit/lib/wasm-micro-runtime-WAMR-1.2.2/.github/workflows/spec_test_on_nuttx.yml145
20 files changed, 0 insertions, 3119 deletions
diff --git a/fluent-bit/lib/wasm-micro-runtime-WAMR-1.2.2/.github/scripts/extract_from_release_notes.py b/fluent-bit/lib/wasm-micro-runtime-WAMR-1.2.2/.github/scripts/extract_from_release_notes.py
deleted file mode 100644
index 3802d9211..000000000
--- a/fluent-bit/lib/wasm-micro-runtime-WAMR-1.2.2/.github/scripts/extract_from_release_notes.py
+++ /dev/null
@@ -1,60 +0,0 @@
-#!/usr/bin/env python3
-#
-# Copyright (C) 2019 Intel Corporation. All rights reserved.
-# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
-#
-
-"""
-Extract the latest release notes content from RELEASE_NOTES.md
-"""
-
-import argparse
-import os
-import sys
-import traceback
-
-
-def latest_content(release_notes_path):
- """
- can't change the format of the original content
- """
- content = ""
- start_extract = False
- with open(release_notes_path, encoding="utf-8") as f:
- for line in f:
- if line.startswith("## "):
- if start_extract:
- break
-
- start_extract = True
- continue
-
- # hit a separated line
- if line.startswith("---"):
- break
-
- content += line
-
- content += os.linesep
- return content
-
-
-def main():
- """
- GO!GO!!GO!!!
- """
- parser = argparse.ArgumentParser(description="run the sample and examine outputs")
- parser.add_argument("release_notes_path", type=str)
- args = parser.parse_args()
-
- ret = 1
- try:
- print(latest_content(args.release_notes_path))
- ret = 0
- except AssertionError:
- traceback.print_exc()
- return ret
-
-
-if __name__ == "__main__":
- sys.exit(main())
diff --git a/fluent-bit/lib/wasm-micro-runtime-WAMR-1.2.2/.github/scripts/fetch_and_compare_version.py b/fluent-bit/lib/wasm-micro-runtime-WAMR-1.2.2/.github/scripts/fetch_and_compare_version.py
deleted file mode 100644
index ac206cade..000000000
--- a/fluent-bit/lib/wasm-micro-runtime-WAMR-1.2.2/.github/scripts/fetch_and_compare_version.py
+++ /dev/null
@@ -1,123 +0,0 @@
-#!/usr/bin/env python3
-#
-# Copyright (C) 2019 Intel Corporation. All rights reserved.
-# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
-#
-
-import re
-import shlex
-import subprocess
-import sys
-
-
-def fetch_version_from_code():
- """
- search the semantic version definition in core/version.h
- """
- major, minor, patch = "", "", ""
- with open("core/version.h", encoding="utf-8") as f:
- for line in f:
- if "WAMR_VERSION" not in line:
- continue
-
- major_match = re.search(r"WAMR_VERSION_MAJOR (\d+)", line)
- if major_match is not None:
- major = major_match.groups()[0]
- continue
-
- minor_match = re.search(r"WAMR_VERSION_MINOR (\d+)", line)
- if minor_match is not None:
- minor = minor_match.groups()[0]
- continue
-
- patch_match = re.search(r"WAMR_VERSION_PATCH (\d+)", line)
- if patch_match is not None:
- patch = patch_match.groups()[0]
-
- if len(major) == 0 or len(minor) == 0 or len(patch) == 0:
- raise Exception(
- "can't find the semantic version definition likes WAMR_VERSION_*"
- )
- return f"WAMR-{major}.{minor}.{patch}"
-
-
-def fetch_latest_git_tag():
- list_tag_cmd = (
- 'git tag --list WAMR-*.*.* --sort=committerdate --format="%(refname:short)"'
- )
- p = subprocess.run(shlex.split(list_tag_cmd), capture_output=True, check=True)
-
- all_tags = p.stdout.decode().strip()
- latest_tag = all_tags.split("\n")[-1]
- return latest_tag
-
-
-def match_version_pattern(v):
- pattern = r"WAMR-\d+\.\d+\.\d+"
- m = re.match(pattern, v)
- return m is not None
-
-
-def split_version_string(v):
- """
- return the semantic version as an integer list
- """
- pattern = r"WAMR-(\d+)\.(\d+)\.(\d+)"
- m = re.match(pattern, v)
- return [int(x) for x in m.groups()]
-
-
-def compare_version_string(v1, v2):
- """
- return value:
- - 1. if v1 > v2
- - -1. if v1 < v2
- - 0. if v1 == v2
- """
- if not match_version_pattern(v1):
- raise Exception(f"{v1} doesn't match the version pattern")
-
- if not match_version_pattern(v2):
- raise Exception(f"{v2} doesn't match the version pattern")
-
- v1_sem_ver = split_version_string(v1)
- v2_sem_ver = split_version_string(v2)
-
- return 0 if v1_sem_ver == v2_sem_ver else (1 if v1_sem_ver > v2_sem_ver else -1)
-
-
-def is_major_or_minor_changed(v1, v2):
- """
- return true if change either major of v2 or minor of v2
- return false or else
- """
- if not match_version_pattern(v1):
- raise Exception(f"{v1} doesn't match the version pattern")
-
- if not match_version_pattern(v2):
- raise Exception(f"{v2} doesn't match the version pattern")
-
- v1_major, v1_minor, _ = split_version_string(v1)
- v2_major, v2_minor, _ = split_version_string(v2)
-
- return v2_major != v1_major or v2_minor != v1_minor
-
-
-def next_version():
- definition = fetch_version_from_code()
- tag = fetch_latest_git_tag()
-
- new_version = ""
- minor_changed = False
- if compare_version_string(definition, tag) == 1:
- new_version = definition.split("-")[-1]
-
- if is_major_or_minor_changed(tag, definition):
- minor_changed = True
-
- return new_version, "major_minor_change" if minor_changed else "patch_change"
-
-
-if __name__ == "__main__":
- print(f"{next_version()[0]},{next_version()[1]}")
- sys.exit(0)
diff --git a/fluent-bit/lib/wasm-micro-runtime-WAMR-1.2.2/.github/scripts/reuse_latest_release_binaries.py b/fluent-bit/lib/wasm-micro-runtime-WAMR-1.2.2/.github/scripts/reuse_latest_release_binaries.py
deleted file mode 100644
index 0fe2d9766..000000000
--- a/fluent-bit/lib/wasm-micro-runtime-WAMR-1.2.2/.github/scripts/reuse_latest_release_binaries.py
+++ /dev/null
@@ -1,102 +0,0 @@
-#!/usr/bin/env python3
-#
-# Copyright (C) 2019 Intel Corporation. All rights reserved.
-# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
-#
-
-import argparse
-import json
-import os
-import shlex
-import subprocess
-import sys
-from urllib.error import HTTPError, URLError
-import urllib.request
-
-
-def get_last_commit(target_path, cwd):
- last_commit_cmd = f"git log -n 1 --pretty=format:%H -- {target_path}"
- p = subprocess.run(
- shlex.split(last_commit_cmd), capture_output=True, check=True, cwd=cwd
- )
- return p.stdout.decode().strip()
-
-
-def fetch_git_tags():
- list_tag_cmd = (
- 'git tag --list WAMR-*.*.* --sort=committerdate --format="%(refname:short)"'
- )
- p = subprocess.run(shlex.split(list_tag_cmd), capture_output=True, check=True)
-
- all_tags = p.stdout.decode().strip()
- return all_tags.split("\n")
-
-
-def download_binaries(binary_name_stem, cwd):
- """
- 1. find the latest release name
- 2. form assets download url:
- """
- try:
- all_tags = fetch_git_tags()
- # *release_process.yml* will create a tag and release at first
- second_last_tag = all_tags[-2]
- latest_tag = all_tags[-1]
-
- latest_url = "https://api.github.com/repos/bytecodealliance/wasm-micro-runtime/releases/latest"
- print(f"::notice::query the latest release with {latest_url}...")
- with urllib.request.urlopen(latest_url) as response:
- body = response.read()
-
- release_name = json.loads(body)["name"]
-
- # WAMR-X.Y.Z -> X.Y.Z
- second_last_sem_ver = second_last_tag[5:]
- latest_sem_ver = latest_tag[5:]
- assert latest_sem_ver in binary_name_stem
- name_stem_in_release = binary_name_stem.replace(
- latest_sem_ver, second_last_sem_ver
- )
-
- # download and rename
- for file_ext in (".zip", ".tar.gz"):
- assets_url = f"https://github.com/bytecodealliance/wasm-micro-runtime/releases/download/{release_name}/{name_stem_in_release}{file_ext}"
- local_path = f"{binary_name_stem}{file_ext}"
- print(f"::notice::download from {assets_url} and save as {local_path}...")
- urllib.request.urlretrieve(assets_url, local_path)
- return True
- except HTTPError as error:
- print(error.status, error.reason)
- except URLError as error:
- print(error.reason)
- except TimeoutError:
- print("Request timeout")
-
- return False
-
-
-def main():
- parser = argparse.ArgumentParser(
- description="Reuse binaries of the latest release if no more modification on the_path since last_commit"
- )
- parser.add_argument("working_directory", type=str)
- parser.add_argument("--binary_name_stem", type=str)
- parser.add_argument("--last_commit", type=str)
- parser.add_argument("--the_path", type=str)
- args = parser.parse_args()
-
- last_commit = get_last_commit(args.the_path, args.working_directory)
- if last_commit == args.last_commit:
- return download_binaries(args.binary_name_stem, args.working_directory)
- else:
- return False
-
-
-if __name__ == "__main__":
- # use output to indicate results
- # echo "result=${result}" >> "$GITHUB_OUTPUT"
- with open(os.environ.get("GITHUB_OUTPUT"), 'a') as output_file:
- output_file.write("result=hit\n" if main() else "result=not-hit\n")
-
- # always return 0
- sys.exit(0)
diff --git a/fluent-bit/lib/wasm-micro-runtime-WAMR-1.2.2/.github/workflows/build_docker_images.yml b/fluent-bit/lib/wasm-micro-runtime-WAMR-1.2.2/.github/workflows/build_docker_images.yml
deleted file mode 100644
index 819bf94c3..000000000
--- a/fluent-bit/lib/wasm-micro-runtime-WAMR-1.2.2/.github/workflows/build_docker_images.yml
+++ /dev/null
@@ -1,89 +0,0 @@
-# Copyright (C) 2019 Intel Corporation. All rights reserved.
-# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
-
-name: Create and publish Docker images
-
-on:
- workflow_call:
- inputs:
- upload_url:
- description: upload binary assets to the URL of release
- type: string
- required: true
- ver_num:
- description: a semantic version number.
- type: string
- required: true
-
-jobs:
- build-and-push-images:
- runs-on: ubuntu-22.04
-
- steps:
- - name: Checkout repository
- uses: actions/checkout@v3
-
- - name: Build and save Docker image(wasm-debug-server:${{ inputs.ver_num }}) to tar file
- run: |
- docker build -t wasm-debug-server:${{ inputs.ver_num }} .
- docker save -o wasm-debug-server.tar wasm-debug-server:${{ inputs.ver_num }}
- working-directory: test-tools/wamr-ide/WASM-Debug-Server/Docker
-
- - name: compress the tar file
- run: |
- tar czf wasm-debug-server-${{ inputs.ver_num }}.tar.gz wasm-debug-server.tar
- zip wasm-debug-server-${{ inputs.ver_num }}.zip wasm-debug-server.tar
- working-directory: test-tools/wamr-ide/WASM-Debug-Server/Docker
-
- - name: upload release tar.gz
- uses: actions/upload-release-asset@v1
- env:
- GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- with:
- upload_url: ${{ inputs.upload_url }}
- asset_path: test-tools/wamr-ide/WASM-Debug-Server/Docker/wasm-debug-server-${{ inputs.ver_num }}.tar.gz
- asset_name: wasm-debug-server-${{ inputs.ver_num }}.tar.gz
- asset_content_type: application/x-gzip
-
- - name: upload release zip
- uses: actions/upload-release-asset@v1
- env:
- GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- with:
- upload_url: ${{ inputs.upload_url }}
- asset_path: test-tools/wamr-ide/WASM-Debug-Server/Docker/wasm-debug-server-${{ inputs.ver_num }}.zip
- asset_name: wasm-debug-server-${{ inputs.ver_num }}.zip
- asset_content_type: application/zip
-
- - name: Build and save Docker image(wasm-toolchain:${{ inputs.ver_num }}) to tar file
- run: |
- docker build -t wasm-toolchain:${{ inputs.ver_num }} .
- docker save -o wasm-toolchain.tar wasm-toolchain:${{ inputs.ver_num }}
- working-directory: test-tools/wamr-ide/WASM-Toolchain/Docker
-
- - name: compress the tar file
- run: |
- tar czf wasm-toolchain-${{ inputs.ver_num }}.tar.gz wasm-toolchain.tar
- zip wasm-toolchain-${{ inputs.ver_num }}.zip wasm-toolchain.tar
- working-directory: test-tools/wamr-ide/WASM-Toolchain/Docker
-
- - name: upload release tar.gz
- uses: actions/upload-release-asset@v1
- env:
- GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- with:
- upload_url: ${{ inputs.upload_url }}
- asset_path: test-tools/wamr-ide/WASM-Toolchain/Docker/wasm-toolchain-${{ inputs.ver_num }}.tar.gz
- asset_name: wasm-toolchain-${{ inputs.ver_num }}.tar.gz
- asset_content_type: application/x-gzip
-
- - name: upload release zip
- uses: actions/upload-release-asset@v1
- env:
- GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- with:
- upload_url: ${{ inputs.upload_url }}
- asset_path: test-tools/wamr-ide/WASM-Toolchain/Docker/wasm-toolchain-${{ inputs.ver_num }}.zip
- asset_name: wasm-toolchain-${{ inputs.ver_num }}.zip
- asset_content_type: application/zip
-
diff --git a/fluent-bit/lib/wasm-micro-runtime-WAMR-1.2.2/.github/workflows/build_iwasm_release.yml b/fluent-bit/lib/wasm-micro-runtime-WAMR-1.2.2/.github/workflows/build_iwasm_release.yml
deleted file mode 100644
index 64aa9a92c..000000000
--- a/fluent-bit/lib/wasm-micro-runtime-WAMR-1.2.2/.github/workflows/build_iwasm_release.yml
+++ /dev/null
@@ -1,108 +0,0 @@
-# Copyright (C) 2019 Intel Corporation. All rights reserved.
-# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
-name: build iwasm release
-
-on:
- workflow_call:
- inputs:
- arch:
- description: arch of the release
- type: string
- required: false
- default: x86_64
- cwd:
- description: workfing directory
- type: string
- required: true
- llvm_cache_key:
- description: the cache key of llvm libraries
- type: string
- required: true
- runner:
- description: OS of compilation
- type: string
- required: true
- upload_url:
- description: a semantic version number. it is required when `release` is true.
- type: string
- required: false
- ver_num:
- description: a semantic version number. it is required when `release` is true.
- type: string
- required: false
-
-jobs:
- build:
- runs-on: ${{ inputs.runner }}
- steps:
- - uses: actions/checkout@v3
-
- - name: get cached LLVM libraries
- id: retrieve_llvm_libs
- uses: actions/cache@v3
- with:
- path: |
- ./core/deps/llvm/build/bin
- ./core/deps/llvm/build/include
- ./core/deps/llvm/build/lib
- ./core/deps/llvm/build/libexec
- ./core/deps/llvm/build/share
- key: ${{ inputs.llvm_cache_key }}
- fail-on-cache-miss: true
-
- - name: generate iwasm binary release
- run: |
- cmake -S . -B build \
- -DWAMR_BUILD_AOT=1 -DWAMR_BUILD_INTERP=1 -DWAMR_BUILD_FAST_JIT=1 -DWAMR_BUILD_JIT=1 \
- -DWAMR_BUILD_CUSTOM_NAME_SECTION=0 \
- -DWAMR_BUILD_DEBUG_INTERP=0 \
- -DWAMR_BUILD_DEBUG_AOT=0 \
- -DWAMR_BUILD_DUMP_CALL_STACK=0 \
- -DWAMR_BUILD_LIBC_UVWASI=0 \
- -DWAMR_BUILD_LIBC_EMCC=0 \
- -DWAMR_BUILD_LIB_RATS=0 \
- -DWAMR_BUILD_LOAD_CUSTOM_SECTION=0 \
- -DWAMR_BUILD_MEMORY_PROFILING=0 \
- -DWAMR_BUILD_MINI_LOADER=0 \
- -DWAMR_BUILD_MULTI_MODULE=0 \
- -DWAMR_BUILD_PERF_PROFILING=0 \
- -DWAMR_BUILD_SPEC_TEST=0 \
- -DWAMR_BUILD_BULK_MEMORY=1 \
- -DWAMR_BUILD_LIB_PTHREAD=1 \
- -DWAMR_BUILD_LIB_PTHREAD_SEMAPHORE=1 \
- -DWAMR_BUILD_LIB_WASI_THREADS=1 \
- -DWAMR_BUILD_LIBC_BUILTIN=1 \
- -DWAMR_BUILD_LIBC_WASI=1 \
- -DWAMR_BUILD_REF_TYPES=1 \
- -DWAMR_BUILD_SIMD=1 \
- -DWAMR_BUILD_SHARED_MEMORY=1 \
- -DWAMR_BUILD_TAIL_CALL=1 \
- -DWAMR_BUILD_THREAD_MGR=1
- cmake --build build --config Release --parallel 4
- working-directory: ${{ inputs.cwd }}
-
- - name: compress the binary
- run: |
- tar czf iwasm-${{ inputs.ver_num }}-${{ inputs.runner }}.tar.gz iwasm
- zip iwasm-${{ inputs.ver_num }}-${{ inputs.runner }}.zip iwasm
- working-directory: ${{ inputs.cwd }}/build
-
- - name: upload release tar.gz
- uses: actions/upload-release-asset@v1
- env:
- GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- with:
- upload_url: ${{ inputs.upload_url }}
- asset_path: ${{ inputs.cwd }}/build/iwasm-${{ inputs.ver_num }}-${{ inputs.runner }}.tar.gz
- asset_name: iwasm-${{ inputs.ver_num }}-${{ inputs.arch }}-${{ inputs.runner }}.tar.gz
- asset_content_type: application/x-gzip
-
- - name: upload release zip
- uses: actions/upload-release-asset@v1
- env:
- GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- with:
- upload_url: ${{ inputs.upload_url }}
- asset_path: ${{ inputs.cwd }}/build/iwasm-${{ inputs.ver_num }}-${{ inputs.runner }}.zip
- asset_name: iwasm-${{ inputs.ver_num }}-${{ inputs.arch }}-${{ inputs.runner }}.zip
- asset_content_type: application/zip
diff --git a/fluent-bit/lib/wasm-micro-runtime-WAMR-1.2.2/.github/workflows/build_llvm_libraries.yml b/fluent-bit/lib/wasm-micro-runtime-WAMR-1.2.2/.github/workflows/build_llvm_libraries.yml
deleted file mode 100644
index 7ef1dd63f..000000000
--- a/fluent-bit/lib/wasm-micro-runtime-WAMR-1.2.2/.github/workflows/build_llvm_libraries.yml
+++ /dev/null
@@ -1,91 +0,0 @@
-# Copyright (C) 2019 Intel Corporation. All rights reserved.
-# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
-name: Reusable workflow-build_llvm_libraries
-
-on:
- workflow_call:
- inputs:
- os:
- required: true
- type: string
- arch:
- required: true
- type: string
- outputs:
- cache_key:
- description: "A cached key of LLVM libraries"
- value: ${{ jobs.build_llvm_libraries.outputs.key}}
-
-jobs:
- build_llvm_libraries:
- runs-on: ${{ inputs.os }}
- outputs:
- key: ${{ steps.create_lib_cache_key.outputs.key}}
-
- steps:
- - name: checkout
- uses: actions/checkout@v3
-
- - name: install dependencies
- run: /usr/bin/env python3 -m pip install -r requirements.txt
- working-directory: build-scripts
-
- - name: retrive the last commit ID
- id: get_last_commit
- run: echo "last_commit=$(GH_TOKEN=${{ secrets.GITHUB_TOKEN }} /usr/bin/env python3 ./build_llvm.py --llvm-ver)" >> $GITHUB_OUTPUT
- working-directory: build-scripts
-
- # Bump the prefix number to evict all previous caches and
- # enforce a clean build, in the unlikely case that some
- # weird build error occur and llvm/build becomes a potential
- # suspect.
- - name: form the cache key of libraries
- id: create_lib_cache_key
- run: echo "key=0-llvm-libraries-${{ inputs.os }}-${{ inputs.arch }}-${{ steps.get_last_commit.outputs.last_commit }}" >> $GITHUB_OUTPUT
-
- - name: Cache LLVM libraries
- id: retrieve_llvm_libs
- uses: actions/cache@v3
- with:
- path: |
- ./core/deps/llvm/build/bin
- ./core/deps/llvm/build/include
- ./core/deps/llvm/build/lib
- ./core/deps/llvm/build/libexec
- ./core/deps/llvm/build/share
- key: ${{ steps.create_lib_cache_key.outputs.key}}
-
- - uses: actions/cache@v3
- 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@v3
- with:
- path: ~/.cache/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-22.04'
-
- - run: sudo apt install -y ccache ninja-build
- if: steps.retrieve_llvm_libs.outputs.cache-hit != 'true' && startsWith(inputs.os, 'ubuntu')
-
- - uses: actions/cache@v3
- with:
- path: ~/Library/Caches/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' && startsWith(inputs.os, 'macos')
-
- - run: brew install ccache ninja
- if: steps.retrieve_llvm_libs.outputs.cache-hit != 'true' && startsWith(inputs.os, 'macos')
-
- - name: Build LLVM libraries
- if: steps.retrieve_llvm_libs.outputs.cache-hit != 'true'
- run: /usr/bin/env python3 ./build_llvm.py --arch ${{ inputs.arch }}
- working-directory: build-scripts
diff --git a/fluent-bit/lib/wasm-micro-runtime-WAMR-1.2.2/.github/workflows/build_wamr_lldb.yml b/fluent-bit/lib/wasm-micro-runtime-WAMR-1.2.2/.github/workflows/build_wamr_lldb.yml
deleted file mode 100644
index ba491ad3a..000000000
--- a/fluent-bit/lib/wasm-micro-runtime-WAMR-1.2.2/.github/workflows/build_wamr_lldb.yml
+++ /dev/null
@@ -1,197 +0,0 @@
-# Copyright (C) 2019 Intel Corporation. All rights reserved.
-# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
-name: build wamr lldb
-
-on:
- workflow_call:
- inputs:
- arch:
- description: arch of the release
- type: string
- required: false
- default: x86_64
- runner:
- description: OS of compilation
- type: string
- required: true
- upload_url:
- description: upload binary assets to the URL of release
- type: string
- required: true
- ver_num:
- description: a semantic version number
- type: string
- required: true
-
-jobs:
- try_reuse:
- uses: ./.github/workflows/reuse_latest_release_binaries.yml
- with:
- binary_name_stem: "wamr-lldb-${{ inputs.ver_num }}-${{ inputs.arch }}-${{ inputs.runner }}"
- last_commit: "ea63ba4bd010c2285623ad4acc0262a4d63bcfea"
- the_path: "./build-scripts/lldb-wasm.patch"
- upload_url: ${{ inputs.upload_url }}
-
- build:
- needs: try_reuse
- if: needs.try_reuse.outputs.result != 'hit'
- runs-on: ${{ inputs.runner }}
- steps:
- - uses: actions/checkout@v3
-
- - name: Cache build
- id: lldb_build_cache
- uses: actions/cache@v3
- with:
- path: |
- ./core/deps/llvm-project/build/bin
- ./core/deps/llvm-project/build/include
- ./core/deps/llvm-project/build/lib
- ./core/deps/llvm-project/build/libexec
- ./core/deps/llvm-project/build/share
- ./core/deps/llvm-project/lldb/tools/
- ./core/deps/llvm-project/wamr-lldb/
- key: ${{inputs.arch}}-${{ inputs.runner }}-lldb_build
-
- - name: setup xcode macos
- if: steps.lldb_build_cache.outputs.cache-hit != 'true' && contains(inputs.runner, 'macos')
- uses: maxim-lobanov/setup-xcode@v1
- with:
- xcode-version: latest-stable
-
- # Remove xCode command line tools, to prevent duplicate symbol compilation failures
- - name: install utils macos
- if: steps.lldb_build_cache.outputs.cache-hit != 'true' && contains(inputs.runner, 'macos')
- run: |
- brew install swig cmake ninja libedit
- sudo rm -rf /Library/Developer/CommandLineTools
-
- - name: intsall utils ubuntu
- if: steps.lldb_build_cache.outputs.cache-hit != 'true' && contains(inputs.runner, 'ubuntu')
- run: sudo apt update && sudo apt-get install -y lld ninja-build
-
- # `git clone` takes ~7m
- - name: download llvm
- if: steps.lldb_build_cache.outputs.cache-hit != 'true'
- run: |
- wget https://github.com/llvm/llvm-project/archive/1f27fe6128769f00197925c3b8f6abb9d0e5cd2e.zip
- unzip -q 1f27fe6128769f00197925c3b8f6abb9d0e5cd2e.zip
- mv llvm-project-1f27fe6128769f00197925c3b8f6abb9d0e5cd2e llvm-project
- working-directory: core/deps/
-
- - name: apply wamr patch
- if: steps.lldb_build_cache.outputs.cache-hit != 'true'
- run: |
- git init
- git config user.email "action@github.com"
- git config user.name "github action"
- git apply ../../../build-scripts/lldb-wasm.patch
- working-directory: core/deps/llvm-project
-
- - name: build lldb ubuntu
- if: steps.lldb_build_cache.outputs.cache-hit != 'true' && contains(inputs.runner, 'ubuntu')
- run: |
- echo "start to build lldb..."
- mkdir -p wamr-lldb
- cmake -S ./llvm -B build \
- -G Ninja \
- -DCMAKE_INSTALL_PREFIX=../wamr-lldb \
- -DCMAKE_BUILD_TYPE:STRING="Release" \
- -DCMAKE_EXPORT_COMPILE_COMMANDS=ON \
- -DLLVM_ENABLE_PROJECTS="clang;lldb" \
- -DLLVM_TARGETS_TO_BUILD:STRING="X86;WebAssembly" \
- -DLLVM_BUILD_BENCHMARKS:BOOL=OFF \
- -DLLVM_BUILD_DOCS:BOOL=OFF \
- -DLLVM_BUILD_EXAMPLES:BOOL=OFF \
- -DLLVM_BUILD_LLVM_DYLIB:BOOL=OFF \
- -DLLVM_BUILD_TESTS:BOOL=OFF \
- -DLLVM_INCLUDE_BENCHMARKS:BOOL=OFF \
- -DLLVM_INCLUDE_DOCS:BOOL=OFF \
- -DLLVM_INCLUDE_EXAMPLES:BOOL=OFF \
- -DLLVM_INCLUDE_TESTS:BOOL=OFF \
- -DLLVM_ENABLE_BINDINGS:BOOL=OFF \
- -DLLVM_ENABLE_LIBXML2:BOOL=ON \
- -DLLDB_ENABLE_PYTHON:BOOL=OFF \
- -DLLVM_ENABLE_LLD:BOOL=ON
- cmake --build build --target lldb install --parallel $(nproc)
- working-directory: core/deps/llvm-project
-
- - name: build lldb macos
- if: steps.lldb_build_cache.outputs.cache-hit != 'true' && contains(inputs.runner, 'macos')
- run: |
- echo "start to build lldb..."
- mkdir -p wamr-lldb
- cmake -S ./llvm -B build \
- -G Ninja \
- -DCMAKE_INSTALL_PREFIX=../wamr-lldb \
- -DCMAKE_BUILD_TYPE:STRING="Release" \
- -DCMAKE_EXPORT_COMPILE_COMMANDS=ON \
- -DLLVM_ENABLE_PROJECTS="clang;lldb" \
- -DLLVM_TARGETS_TO_BUILD:STRING="X86;WebAssembly" \
- -DLLVM_BUILD_BENCHMARKS:BOOL=OFF \
- -DLLVM_BUILD_DOCS:BOOL=OFF \
- -DLLVM_BUILD_EXAMPLES:BOOL=OFF \
- -DLLVM_BUILD_LLVM_DYLIB:BOOL=OFF \
- -DLLVM_BUILD_TESTS:BOOL=OFF \
- -DLLVM_INCLUDE_BENCHMARKS:BOOL=OFF \
- -DLLVM_INCLUDE_DOCS:BOOL=OFF \
- -DLLVM_INCLUDE_EXAMPLES:BOOL=OFF \
- -DLLVM_INCLUDE_TESTS:BOOL=OFF \
- -DLLVM_BUILD_BENCHMARKS:BOOL=OFF \
- -DLLVM_BUILD_DOCS:BOOL=OFF \
- -DLLVM_BUILD_LLVM_DYLIB:BOOL=OFF \
- -DLLVM_ENABLE_BINDINGS:BOOL=OFF \
- -DLLVM_ENABLE_LIBXML2:BOOL=ON \
- -DLLDB_ENABLE_PYTHON:BOOL=OFF \
- -DLLDB_BUILD_FRAMEWORK:BOOL=OFF
- cmake --build build --target lldb install --parallel $(nproc)
- working-directory: core/deps/llvm-project
-
- - name: pack a distribution
- if: steps.lldb_build_cache.outputs.cache-hit != 'true'
- run: |
- mkdir -p wamr-lldb/bin
- mkdir -p wamr-lldb/lib
- cp build/bin/lldb* wamr-lldb/bin
- cp lldb/tools/lldb-vscode/package.json wamr-lldb
- cp -r lldb/tools/lldb-vscode/syntaxes/ wamr-lldb
- working-directory: core/deps/llvm-project
-
- - name: pack ubuntu specific libraries
- if: steps.lldb_build_cache.outputs.cache-hit != 'true' && contains(inputs.runner, 'ubuntu')
- run: |
- cp build/lib/liblldb*.so wamr-lldb/lib
- cp build/lib/liblldb*.so.* wamr-lldb/lib
- working-directory: core/deps/llvm-project
-
- - name: pack macos specific libraries
- if: steps.lldb_build_cache.outputs.cache-hit != 'true' && contains(inputs.runner, 'macos')
- run: |
- cp build/lib/liblldb*.dylib wamr-lldb/lib
- working-directory: core/deps/llvm-project
-
- - name: compress the binary
- run: |
- tar czf wamr-lldb-${{ inputs.ver_num }}-${{ inputs.runner }}.tar.gz wamr-lldb
- zip -r wamr-lldb-${{ inputs.ver_num }}-${{ inputs.runner }}.zip wamr-lldb
- working-directory: core/deps/llvm-project
-
- - name: upload release tar.gz
- uses: actions/upload-release-asset@v1
- env:
- GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- with:
- upload_url: ${{ inputs.upload_url }}
- asset_path: core/deps/llvm-project/wamr-lldb-${{ inputs.ver_num }}-${{ inputs.runner }}.tar.gz
- asset_name: wamr-lldb-${{ inputs.ver_num }}-${{ inputs.arch }}-${{ inputs.runner }}.tar.gz
- asset_content_type: application/x-gzip
-
- - name: upload release zip
- uses: actions/upload-release-asset@v1
- env:
- GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- with:
- upload_url: ${{ inputs.upload_url }}
- asset_path: core/deps/llvm-project/wamr-lldb-${{ inputs.ver_num }}-${{ inputs.runner }}.zip
- asset_name: wamr-lldb-${{ inputs.ver_num }}-${{ inputs.arch }}-${{ inputs.runner }}.zip
- asset_content_type: application/zip
diff --git a/fluent-bit/lib/wasm-micro-runtime-WAMR-1.2.2/.github/workflows/build_wamr_sdk.yml b/fluent-bit/lib/wasm-micro-runtime-WAMR-1.2.2/.github/workflows/build_wamr_sdk.yml
deleted file mode 100644
index fff6d85df..000000000
--- a/fluent-bit/lib/wasm-micro-runtime-WAMR-1.2.2/.github/workflows/build_wamr_sdk.yml
+++ /dev/null
@@ -1,78 +0,0 @@
-# Copyright (C) 2019 Intel Corporation. All rights reserved.
-# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
-name: build wamr-sdk
-
-on:
- workflow_call:
- inputs:
- arch:
- description: arch of the release
- type: string
- required: false
- default: x86_64
- config_file:
- description: warm-sdk config file path
- type: string
- required: true
- runner:
- description: OS of compilation
- type: string
- required: true
- upload_url:
- description: upload binary assets to the URL of release
- type: string
- required: true
- ver_num:
- description: a semantic version number
- type: string
- required: true
- wasi_sdk_url:
- description: download WASI_SDK from this URL
- type: string
- required: true
-
-jobs:
- build:
- runs-on: ${{ inputs.runner }}
- steps:
- - uses: actions/checkout@v3
-
- - name: download and install wasi-sdk
- run: |
- cd /opt
- basename=$(basename ${{ inputs.wasi_sdk_url }})
- sudo wget --progress=dot:giga ${{ inputs.wasi_sdk_url }}
- sudo tar -xzf ${basename}
- sudo rm ${basename}
- sudo mv wasi-sdk-* wasi-sdk
-
- - name: generate wamr-sdk release
- run: |
- ./build_sdk.sh -n wamr-sdk -x $(pwd)/${{ inputs.config_file }}
- working-directory: wamr-sdk
-
- - name: compress the binary
- run: |
- tar czf wamr-sdk-${{ inputs.ver_num }}-${{ inputs.runner }}.tar.gz wamr-sdk
- zip -r wamr-sdk-${{ inputs.ver_num }}-${{ inputs.runner }}.zip wamr-sdk
- working-directory: wamr-sdk/out
-
- - name: upload release tar.gz
- uses: actions/upload-release-asset@v1
- env:
- GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- with:
- upload_url: ${{ inputs.upload_url }}
- asset_path: wamr-sdk/out/wamr-sdk-${{ inputs.ver_num }}-${{ inputs.runner }}.tar.gz
- asset_name: wamr-sdk-${{ inputs.ver_num }}-${{ inputs.arch }}-${{ inputs.runner }}.tar.gz
- asset_content_type: application/x-gzip
-
- - name: upload release zip
- uses: actions/upload-release-asset@v1
- env:
- GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- with:
- upload_url: ${{ inputs.upload_url }}
- asset_path: wamr-sdk/out/wamr-sdk-${{ inputs.ver_num }}-${{ inputs.runner }}.zip
- asset_name: wamr-sdk-${{ inputs.ver_num }}-${{ inputs.arch }}-${{ inputs.runner }}.zip
- asset_content_type: application/zip
diff --git a/fluent-bit/lib/wasm-micro-runtime-WAMR-1.2.2/.github/workflows/build_wamr_vscode_ext.yml b/fluent-bit/lib/wasm-micro-runtime-WAMR-1.2.2/.github/workflows/build_wamr_vscode_ext.yml
deleted file mode 100644
index 297dc9b9e..000000000
--- a/fluent-bit/lib/wasm-micro-runtime-WAMR-1.2.2/.github/workflows/build_wamr_vscode_ext.yml
+++ /dev/null
@@ -1,73 +0,0 @@
-# Copyright (C) 2019 Intel Corporation. All rights reserved.
-# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
-name: build wamr-ide vscode extension
-
-on:
- workflow_call:
- inputs:
- upload_url:
- description: upload binary assets to the URL of release
- type: string
- required: true
- ver_num:
- description: a semantic version number.
- type: string
- required: true
-
-jobs:
- build:
- runs-on: ubuntu-22.04
- steps:
- - uses: actions/checkout@v3
-
- - name: Use Node.js 14.x
- uses: actions/setup-node@v3
- with:
- node-version: 14.x
-
- - name: set vscode extension to correct version
- run: |
- npm install -g json
- json -I -f package.json -e "this.version=\"${{ inputs.ver_num }}\""
- working-directory: test-tools/wamr-ide/VSCode-Extension
-
- - name: generate wamr ide vscode extension
- run: |
- npm install -g vsce
- rm -rf node_modules
- npm install
- vsce package
- working-directory: test-tools/wamr-ide/VSCode-Extension
-
- - name: publish wamr ide vscode extension to the vsce marketplace
- if: ${{ github.repository == 'bytecodealliance/wasm-micro-runtime' }}
- run: |
- vsce publish -p ${{ secrets.TOKEN }}
- working-directory: test-tools/wamr-ide/VSCode-Extension
-
- - name: compress the vscode extension
- run: |
- mv wamride-*.vsix wamr-ide.vsix
- tar czf wamr-ide-${{ inputs.ver_num }}.tar.gz wamr-ide.vsix
- zip wamr-ide-${{ inputs.ver_num }}.zip wamr-ide.vsix
- working-directory: test-tools/wamr-ide/VSCode-Extension
-
- - name: upload release tar.gz
- uses: actions/upload-release-asset@v1
- env:
- GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- with:
- upload_url: ${{ inputs.upload_url }}
- asset_path: test-tools/wamr-ide/VSCode-Extension/wamr-ide-${{ inputs.ver_num }}.tar.gz
- asset_name: wamr-ide-${{ inputs.ver_num }}.tar.gz
- asset_content_type: application/x-gzip
-
- - name: upload release zip
- uses: actions/upload-release-asset@v1
- env:
- GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- with:
- upload_url: ${{ inputs.upload_url }}
- asset_path: test-tools/wamr-ide/VSCode-Extension/wamr-ide-${{ inputs.ver_num }}.zip
- asset_name: wamr-ide-${{ inputs.ver_num }}.zip
- asset_content_type: application/zip
diff --git a/fluent-bit/lib/wasm-micro-runtime-WAMR-1.2.2/.github/workflows/build_wamrc.yml b/fluent-bit/lib/wasm-micro-runtime-WAMR-1.2.2/.github/workflows/build_wamrc.yml
deleted file mode 100644
index 11c5de9ba..000000000
--- a/fluent-bit/lib/wasm-micro-runtime-WAMR-1.2.2/.github/workflows/build_wamrc.yml
+++ /dev/null
@@ -1,86 +0,0 @@
-# Copyright (C) 2019 Intel Corporation. All rights reserved.
-# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
-name: build wamrc
-
-on:
- workflow_call:
- inputs:
- arch:
- description: arch of the release
- type: string
- required: false
- default: x86_64
- llvm_cache_key:
- description: the cache key of llvm libraries
- type: string
- required: true
- release:
- description: it is a part of the release process
- type: boolean
- required: true
- runner:
- description: OS of compilation
- type: string
- required: true
- upload_url:
- description: a semantic version number. it is required when `release` is true.
- type: string
- required: false
- ver_num:
- description: a semantic version number. it is required when `release` is true.
- type: string
- required: false
-
-jobs:
- build:
- runs-on: ${{ inputs.runner }}
- steps:
- - uses: actions/checkout@v3
-
- - name: get cached LLVM libraries
- id: retrieve_llvm_libs
- uses: actions/cache@v3
- with:
- path: |
- ./core/deps/llvm/build/bin
- ./core/deps/llvm/build/include
- ./core/deps/llvm/build/lib
- ./core/deps/llvm/build/libexec
- ./core/deps/llvm/build/share
- key: ${{ inputs.llvm_cache_key }}
- fail-on-cache-miss: true
-
- - name: generate wamrc binary release
- run: |
- cmake -S . -B build
- cmake --build build --config Release --parallel 4
- working-directory: wamr-compiler
-
- - name: compress the binary
- if: inputs.release
- run: |
- tar czf wamrc-${{ inputs.ver_num }}-${{ inputs.runner }}.tar.gz wamrc
- zip wamrc-${{ inputs.ver_num }}-${{ inputs.runner }}.zip wamrc
- working-directory: wamr-compiler/build
-
- - name: upload release tar.gz
- if: inputs.release
- uses: actions/upload-release-asset@v1
- env:
- GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- with:
- upload_url: ${{ inputs.upload_url }}
- asset_path: wamr-compiler/build/wamrc-${{ inputs.ver_num }}-${{ inputs.runner }}.tar.gz
- asset_name: wamrc-${{ inputs.ver_num }}-${{ inputs.arch }}-${{ inputs.runner }}.tar.gz
- asset_content_type: application/x-gzip
-
- - name: upload release zip
- if: inputs.release
- uses: actions/upload-release-asset@v1
- env:
- GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- with:
- upload_url: ${{ inputs.upload_url }}
- asset_path: wamr-compiler/build/wamrc-${{ inputs.ver_num }}-${{ inputs.runner }}.zip
- asset_name: wamrc-${{ inputs.ver_num }}-${{ inputs.arch }}-${{ inputs.runner }}.zip
- asset_content_type: application/zip
diff --git a/fluent-bit/lib/wasm-micro-runtime-WAMR-1.2.2/.github/workflows/coding_guidelines.yml b/fluent-bit/lib/wasm-micro-runtime-WAMR-1.2.2/.github/workflows/coding_guidelines.yml
deleted file mode 100644
index 259e84fe5..000000000
--- a/fluent-bit/lib/wasm-micro-runtime-WAMR-1.2.2/.github/workflows/coding_guidelines.yml
+++ /dev/null
@@ -1,28 +0,0 @@
-# Copyright (C) 2019 Intel Corporation. All rights reserved.
-# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
-name: Coding Guidelines
-
-on:
- # will be triggered on PR events
- pull_request:
- # 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:
- compliance_job:
- runs-on: ubuntu-latest
- steps:
- - name: checkout
- uses: actions/checkout@v3
- with:
- fetch-depth: 0
-
- # github.event.pull_request.base.label = ${{github.repository}}/${{github.base_ref}}
- - name: Run Coding Guidelines Checks
- run: /usr/bin/env python3 ./ci/coding_guidelines_check.py --commits ${{ github.event.pull_request.base.sha }}..HEAD
diff --git a/fluent-bit/lib/wasm-micro-runtime-WAMR-1.2.2/.github/workflows/compilation_on_android_ubuntu.yml b/fluent-bit/lib/wasm-micro-runtime-WAMR-1.2.2/.github/workflows/compilation_on_android_ubuntu.yml
deleted file mode 100644
index 2a57f6219..000000000
--- a/fluent-bit/lib/wasm-micro-runtime-WAMR-1.2.2/.github/workflows/compilation_on_android_ubuntu.yml
+++ /dev/null
@@ -1,645 +0,0 @@
-# Copyright (C) 2019 Intel Corporation. All rights reserved.
-# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
-
-name: compilation on android, ubuntu-20.04, ubuntu-22.04
-
-on:
- # will be triggered on PR events
- pull_request:
- types:
- - opened
- - synchronize
- paths:
- - ".github/workflows/build_llvm_libraries.yml"
- - ".github/workflows/compilation_on_android_ubuntu.yml"
- - "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/workflows/build_llvm_libraries.yml"
- - ".github/workflows/compilation_on_android_ubuntu.yml"
- - "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
-
-env:
- # For BUILD
- AOT_BUILD_OPTIONS: " -DWAMR_BUILD_AOT=1 -DWAMR_BUILD_FAST_INTERP=0 -DWAMR_BUILD_INTERP=0 -DWAMR_BUILD_FAST_JIT=0 -DWAMR_BUILD_JIT=0 -DWAMR_BUILD_LAZY_JIT=0"
- CLASSIC_INTERP_BUILD_OPTIONS: "-DWAMR_BUILD_AOT=0 -DWAMR_BUILD_FAST_INTERP=0 -DWAMR_BUILD_INTERP=1 -DWAMR_BUILD_FAST_JIT=0 -DWAMR_BUILD_JIT=0 -DWAMR_BUILD_LAZY_JIT=0"
- FAST_INTERP_BUILD_OPTIONS: " -DWAMR_BUILD_AOT=0 -DWAMR_BUILD_FAST_INTERP=1 -DWAMR_BUILD_INTERP=1 -DWAMR_BUILD_FAST_JIT=0 -DWAMR_BUILD_JIT=0 -DWAMR_BUILD_LAZY_JIT=0"
- FAST_JIT_BUILD_OPTIONS: " -DWAMR_BUILD_AOT=1 -DWAMR_BUILD_FAST_INTERP=0 -DWAMR_BUILD_INTERP=0 -DWAMR_BUILD_FAST_JIT=1 -DWAMR_BUILD_JIT=0 -DWAMR_BUILD_LAZY_JIT=0"
- LLVM_LAZY_JIT_BUILD_OPTIONS: " -DWAMR_BUILD_AOT=1 -DWAMR_BUILD_FAST_INTERP=0 -DWAMR_BUILD_INTERP=0 -DWAMR_BUILD_FAST_JIT=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_FAST_JIT=0 -DWAMR_BUILD_JIT=1 -DWAMR_BUILD_LAZY_JIT=0"
- MULTI_TIER_JIT_BUILD_OPTIONS: "-DWAMR_BUILD_AOT=1 -DWAMR_BUILD_FAST_INTERP=0 -DWAMR_BUILD_INTERP=1 -DWAMR_BUILD_FAST_JIT=1 -DWAMR_BUILD_JIT=1 -DWAMR_BUILD_LAZY_JIT=1"
- # For Spec Test
- DEFAULT_TEST_OPTIONS: "-s spec -b -P"
- MULTI_MODULES_TEST_OPTIONS: "-s spec -b -M -P"
- SIMD_TEST_OPTIONS: "-s spec -b -S -P"
- THREADS_TEST_OPTIONS: "-s spec -b -p -P"
- X86_32_TARGET_TEST_OPTIONS: "-m x86_32 -P"
- WASI_TEST_OPTIONS: "-s wasi_certification -w"
-
-jobs:
- build_llvm_libraries_on_ubuntu_2004:
- uses: ./.github/workflows/build_llvm_libraries.yml
- with:
- os: "ubuntu-20.04"
- arch: "X86"
-
- build_llvm_libraries_on_ubuntu_2204:
- uses: ./.github/workflows/build_llvm_libraries.yml
- with:
- os: "ubuntu-22.04"
- arch: "X86"
-
- build_wamrc:
- needs:
- [build_llvm_libraries_on_ubuntu_2004, build_llvm_libraries_on_ubuntu_2204]
- runs-on: ${{ matrix.os }}
- strategy:
- matrix:
- include:
- - os: ubuntu-20.04
- llvm_cache_key: ${{ needs.build_llvm_libraries_on_ubuntu_2004.outputs.cache_key }}
- - os: ubuntu-22.04
- llvm_cache_key: ${{ needs.build_llvm_libraries_on_ubuntu_2204.outputs.cache_key }}
- steps:
- - name: checkout
- uses: actions/checkout@v3
-
- # since jobs.id can't contain the dot character
- # it is hard to use `format` to assemble the cache key
- - name: Get LLVM libraries
- id: retrieve_llvm_libs
- uses: actions/cache@v3
- with:
- path: |
- ./core/deps/llvm/build/bin
- ./core/deps/llvm/build/include
- ./core/deps/llvm/build/lib
- ./core/deps/llvm/build/libexec
- ./core/deps/llvm/build/share
- key: ${{ matrix.llvm_cache_key }}
-
- - name: Quit if cache miss
- if: steps.retrieve_llvm_libs.outputs.cache-hit != 'true'
- run: echo "::error::can not get prebuilt llvm libraries" && exit 1
-
- - name: Build wamrc
- run: |
- mkdir build && cd build
- cmake ..
- cmake --build . --config Release --parallel 4
- working-directory: wamr-compiler
-
- build_iwasm_linux_gcc4_8:
- runs-on: ubuntu-latest
- container:
- image: ubuntu:14.04
- strategy:
- matrix:
- make_options_run_mode: [
- # Running mode
- $CLASSIC_INTERP_BUILD_OPTIONS,
- $FAST_INTERP_BUILD_OPTIONS,
- $FAST_JIT_BUILD_OPTIONS,
- ]
- make_options_feature: [
- # Features
- "-DWAMR_BUILD_CUSTOM_NAME_SECTION=1",
- "-DWAMR_BUILD_DEBUG_AOT=1",
- "-DWAMR_BUILD_DEBUG_INTERP=1",
- "-DWAMR_BUILD_DUMP_CALL_STACK=1",
- "-DWAMR_BUILD_LIB_PTHREAD=1",
- "-DWAMR_BUILD_LIB_WASI_THREADS=1",
- "-DWAMR_BUILD_LOAD_CUSTOM_SECTION=1",
- "-DWAMR_BUILD_MINI_LOADER=1",
- "-DWAMR_BUILD_MEMORY_PROFILING=1",
- "-DWAMR_BUILD_MULTI_MODULE=1",
- "-DWAMR_BUILD_PERF_PROFILING=1",
- "-DWAMR_BUILD_REF_TYPES=1",
- "-DWAMR_BUILD_SIMD=1",
- "-DWAMR_BUILD_TAIL_CALL=1",
- "-DWAMR_DISABLE_HW_BOUND_CHECK=1",
- ]
- exclude:
- # uncompatiable feature and platform
- # uncompatiable mode and feature
- # MULTI_MODULE only on INTERP mode
- - make_options_run_mode: $FAST_JIT_BUILD_OPTIONS
- make_options_feature: "-DWAMR_BUILD_MULTI_MODULE=1"
- # SIMD only on JIT/AOT mode
- - make_options_run_mode: $CLASSIC_INTERP_BUILD_OPTIONS
- make_options_feature: "-DWAMR_BUILD_SIMD=1"
- - make_options_run_mode: $FAST_INTERP_BUILD_OPTIONS
- make_options_feature: "-DWAMR_BUILD_SIMD=1"
- # DEBUG_INTERP only on CLASSIC INTERP mode
- - make_options_run_mode: $FAST_INTERP_BUILD_OPTIONS
- make_options_feature: "-DWAMR_BUILD_DEBUG_INTERP=1"
- - make_options_run_mode: $FAST_JIT_BUILD_OPTIONS
- make_options_feature: "-DWAMR_BUILD_DEBUG_INTERP=1"
- # DEBUG_AOT only on JIT/AOT mode
- - make_options_run_mode: $CLASSIC_INTERP_BUILD_OPTIONS
- make_options_feature: "-DWAMR_BUILD_DEBUG_AOT=1"
- - make_options_run_mode: $FAST_INTERP_BUILD_OPTIONS
- make_options_feature: "-DWAMR_BUILD_DEBUG_AOT=1"
- # TODO: DEBUG_AOT on JIT
- - make_options_run_mode: $FAST_JIT_BUILD_OPTIONS
- make_options_feature: "-DWAMR_BUILD_DEBUG_AOT=1"
- # MINI_LOADER only on INTERP mode
- - make_options_run_mode: $FAST_JIT_BUILD_OPTIONS
- make_options_feature: "-DWAMR_BUILD_MINI_LOADER=1"
- steps:
- - name: checkout
- uses: actions/checkout@v3
-
- - name: Install dependencies
- run: apt update && apt install -y make g++-4.8 gcc-4.8 wget git
-
- - name: Install cmake
- run: |
- wget https://github.com/Kitware/CMake/releases/download/v3.26.1/cmake-3.26.1-linux-x86_64.tar.gz -O cmake.tar.gz
- tar xzf cmake.tar.gz
- cp cmake-3.26.1-linux-x86_64/bin/cmake /usr/local/bin
- cp -r cmake-3.26.1-linux-x86_64/share/cmake-3.26/ /usr/local/share/
-
- - name: Build iwasm
- run: |
- mkdir build && cd build
- cmake .. ${{ matrix.make_options_run_mode }} ${{ matrix.make_options_feature }} -DCMAKE_C_COMPILER=gcc-4.8 -DCMAKE_CXX_COMPILER=g++-4.8
- cmake --build . --config Release --parallel 4
- working-directory: product-mini/platforms/linux
-
- build_iwasm:
- needs:
- [build_llvm_libraries_on_ubuntu_2004, build_llvm_libraries_on_ubuntu_2204]
- runs-on: ${{ matrix.os }}
- strategy:
- matrix:
- make_options_run_mode: [
- # Running mode
- $AOT_BUILD_OPTIONS,
- $CLASSIC_INTERP_BUILD_OPTIONS,
- $FAST_INTERP_BUILD_OPTIONS,
- $FAST_JIT_BUILD_OPTIONS,
- $LLVM_LAZY_JIT_BUILD_OPTIONS,
- $LLVM_EAGER_JIT_BUILD_OPTIONS,
- $MULTI_TIER_JIT_BUILD_OPTIONS,
- ]
- make_options_feature: [
- # Features
- "-DWAMR_BUILD_CUSTOM_NAME_SECTION=1",
- "-DWAMR_BUILD_DEBUG_AOT=1",
- "-DWAMR_BUILD_DEBUG_INTERP=1",
- "-DWAMR_BUILD_DUMP_CALL_STACK=1",
- "-DWAMR_BUILD_LIB_PTHREAD=1",
- "-DWAMR_BUILD_LIB_WASI_THREADS=1",
- "-DWAMR_BUILD_LOAD_CUSTOM_SECTION=1",
- "-DWAMR_BUILD_MINI_LOADER=1",
- "-DWAMR_BUILD_MEMORY_PROFILING=1",
- "-DWAMR_BUILD_MULTI_MODULE=1",
- "-DWAMR_BUILD_PERF_PROFILING=1",
- "-DWAMR_BUILD_REF_TYPES=1",
- "-DWAMR_BUILD_SIMD=1",
- "-DWAMR_BUILD_TAIL_CALL=1",
- "-DWAMR_DISABLE_HW_BOUND_CHECK=1",
- ]
- os: [ubuntu-20.04, ubuntu-22.04]
- platform: [android, linux]
- exclude:
- # uncompatiable feature and platform
- # uncompatiable mode and feature
- # MULTI_MODULE only on INTERP mode
- - make_options_run_mode: $AOT_BUILD_OPTIONS
- make_options_feature: "-DWAMR_BUILD_MULTI_MODULE=1"
- - make_options_run_mode: $FAST_JIT_BUILD_OPTIONS
- make_options_feature: "-DWAMR_BUILD_MULTI_MODULE=1"
- - make_options_run_mode: $LLVM_LAZY_JIT_BUILD_OPTIONS
- make_options_feature: "-DWAMR_BUILD_MULTI_MODULE=1"
- - make_options_run_mode: $LLVM_EAGER_JIT_BUILD_OPTIONS
- make_options_feature: "-DWAMR_BUILD_MULTI_MODULE=1"
- - make_options_run_mode: $MULTI_TIER_JIT_BUILD_OPTIONS
- make_options_feature: "-DWAMR_BUILD_MULTI_MODULE=1"
- # SIMD only on JIT/AOT mode
- - make_options_run_mode: $CLASSIC_INTERP_BUILD_OPTIONS
- make_options_feature: "-DWAMR_BUILD_SIMD=1"
- - make_options_run_mode: $FAST_INTERP_BUILD_OPTIONS
- make_options_feature: "-DWAMR_BUILD_SIMD=1"
- # DEBUG_INTERP only on CLASSIC INTERP mode
- - make_options_run_mode: $AOT_BUILD_OPTIONS
- make_options_feature: "-DWAMR_BUILD_DEBUG_INTERP=1"
- - make_options_run_mode: $FAST_INTERP_BUILD_OPTIONS
- make_options_feature: "-DWAMR_BUILD_DEBUG_INTERP=1"
- - make_options_run_mode: $FAST_JIT_BUILD_OPTIONS
- make_options_feature: "-DWAMR_BUILD_DEBUG_INTERP=1"
- - make_options_run_mode: $LLVM_LAZY_JIT_BUILD_OPTIONS
- make_options_feature: "-DWAMR_BUILD_DEBUG_INTERP=1"
- - make_options_run_mode: $LLVM_EAGER_JIT_BUILD_OPTIONS
- make_options_feature: "-DWAMR_BUILD_DEBUG_INTERP=1"
- - make_options_run_mode: $MULTI_TIER_JIT_BUILD_OPTIONS
- make_options_feature: "-DWAMR_BUILD_DEBUG_INTERP=1"
- # DEBUG_AOT only on JIT/AOT mode
- - make_options_run_mode: $CLASSIC_INTERP_BUILD_OPTIONS
- make_options_feature: "-DWAMR_BUILD_DEBUG_AOT=1"
- - make_options_run_mode: $FAST_INTERP_BUILD_OPTIONS
- make_options_feature: "-DWAMR_BUILD_DEBUG_AOT=1"
- # TODO: DEBUG_AOT on JIT
- - make_options_run_mode: $FAST_JIT_BUILD_OPTIONS
- make_options_feature: "-DWAMR_BUILD_DEBUG_AOT=1"
- - make_options_run_mode: $LLVM_LAZY_JIT_BUILD_OPTIONS
- make_options_feature: "-DWAMR_BUILD_DEBUG_AOT=1"
- - make_options_run_mode: $LLVM_EAGER_JIT_BUILD_OPTIONS
- make_options_feature: "-DWAMR_BUILD_DEBUG_AOT=1"
- - make_options_run_mode: $MULTI_TIER_JIT_BUILD_OPTIONS
- make_options_feature: "-DWAMR_BUILD_DEBUG_AOT=1"
- # MINI_LOADER only on INTERP mode
- - make_options_run_mode: $AOT_BUILD_OPTIONS
- make_options_feature: "-DWAMR_BUILD_MINI_LOADER=1"
- - make_options_run_mode: $FAST_JIT_BUILD_OPTIONS
- make_options_feature: "-DWAMR_BUILD_MINI_LOADER=1"
- - make_options_run_mode: $LLVM_LAZY_JIT_BUILD_OPTIONS
- make_options_feature: "-DWAMR_BUILD_MINI_LOADER=1"
- - make_options_run_mode: $LLVM_EAGER_JIT_BUILD_OPTIONS
- make_options_feature: "-DWAMR_BUILD_MINI_LOADER=1"
- - make_options_run_mode: $MULTI_TIER_JIT_BUILD_OPTIONS
- make_options_feature: "-DWAMR_BUILD_MINI_LOADER=1"
- # Fast-JIT and Multi-Tier-JIT mode don't support android(X86-32)
- - make_options_run_mode: $FAST_JIT_BUILD_OPTIONS
- platform: android
- - make_options_run_mode: $MULTI_TIER_JIT_BUILD_OPTIONS
- platform: android
- # only test andorid on ubuntu latest
- - os: ubuntu-20.04
- platform: android
- include:
- - os: ubuntu-20.04
- llvm_cache_key: ${{ needs.build_llvm_libraries_on_ubuntu_2004.outputs.cache_key }}
- - os: ubuntu-22.04
- llvm_cache_key: ${{ needs.build_llvm_libraries_on_ubuntu_2204.outputs.cache_key }}
- steps:
- - name: checkout
- uses: actions/checkout@v3
-
- # only download llvm cache when needed
- - name: Get LLVM libraries
- id: retrieve_llvm_libs
- if: endsWith(matrix.make_options_run_mode, '_JIT_BUILD_OPTIONS')
- uses: actions/cache@v3
- with:
- path: |
- ./core/deps/llvm/build/bin
- ./core/deps/llvm/build/include
- ./core/deps/llvm/build/lib
- ./core/deps/llvm/build/libexec
- ./core/deps/llvm/build/share
- key: ${{ matrix.llvm_cache_key }}
-
- - name: Quit if cache miss
- if: endsWith(matrix.make_options_run_mode, '_JIT_BUILD_OPTIONS') && (steps.retrieve_llvm_libs.outputs.cache-hit != 'true')
- run: echo "::error::can not get prebuilt llvm libraries" && exit 1
-
- - name: Build iwasm
- run: |
- mkdir build && cd build
- cmake .. ${{ matrix.make_options_run_mode }} ${{ matrix.make_options_feature }}
- cmake --build . --config Release --parallel 4
- working-directory: product-mini/platforms/${{ matrix.platform }}
-
- build_samples_wasm_c_api:
- needs:
- [
- build_iwasm,
- build_llvm_libraries_on_ubuntu_2004,
- build_llvm_libraries_on_ubuntu_2204,
- build_wamrc,
- ]
- runs-on: ${{ matrix.os }}
- strategy:
- fail-fast: false
- matrix:
- sanitizer: ["", "ubsan"]
- make_options: [
- # Running mode
- $AOT_BUILD_OPTIONS,
- $CLASSIC_INTERP_BUILD_OPTIONS,
- $FAST_INTERP_BUILD_OPTIONS,
- $FAST_JIT_BUILD_OPTIONS,
- $LLVM_LAZY_JIT_BUILD_OPTIONS,
- $LLVM_EAGER_JIT_BUILD_OPTIONS,
- $MULTI_TIER_JIT_BUILD_OPTIONS,
- ]
- os: [ubuntu-20.04, ubuntu-22.04]
- wasi_sdk_release:
- [
- "https://github.com/WebAssembly/wasi-sdk/releases/download/wasi-sdk-20/wasi-sdk-20.0-linux.tar.gz",
- ]
- wabt_release:
- [
- "https://github.com/WebAssembly/wabt/releases/download/1.0.31/wabt-1.0.31-ubuntu.tar.gz",
- ]
- include:
- - os: ubuntu-20.04
- llvm_cache_key: ${{ needs.build_llvm_libraries_on_ubuntu_2004.outputs.cache_key }}
- - os: ubuntu-22.04
- llvm_cache_key: ${{ needs.build_llvm_libraries_on_ubuntu_2204.outputs.cache_key }}
-
- steps:
- - name: checkout
- uses: actions/checkout@v3
-
- - name: Get LLVM libraries
- id: retrieve_llvm_libs
- if: (!endsWith(matrix.make_options, '_INTERP_BUILD_OPTIONS'))
- uses: actions/cache@v3
- with:
- path: |
- ./core/deps/llvm/build/bin
- ./core/deps/llvm/build/include
- ./core/deps/llvm/build/lib
- ./core/deps/llvm/build/libexec
- ./core/deps/llvm/build/share
- key: ${{ matrix.llvm_cache_key }}
-
- - name: Quit if cache miss
- if: (!endsWith(matrix.make_options, '_INTERP_BUILD_OPTIONS')) && (steps.retrieve_llvm_libs.outputs.cache-hit != 'true')
- run: echo "::error::can not get prebuilt llvm libraries" && exit 1
-
- - name: download and install wabt
- run: |
- cd /opt
- sudo wget ${{ matrix.wabt_release }}
- sudo tar -xzf wabt-1.0.31-*.tar.gz
- sudo mv wabt-1.0.31 wabt
-
- - name: Build wamrc
- if: (!endsWith(matrix.make_options, '_INTERP_BUILD_OPTIONS'))
- run: |
- mkdir build && cd build
- cmake -DSANITIZER="${{matrix.sanitizer}}" ..
- cmake --build . --config Release --parallel 4
- working-directory: wamr-compiler
-
- - name: Build Sample [wasm-c-api]
- run: |
- VERBOSE=1
- cmake -S . -B build ${{ matrix.make_options }} -DSANITIZER="${{matrix.sanitizer}}"
- cmake --build build --config Release --parallel 4
- ctest --test-dir build --output-on-failure
- working-directory: samples/wasm-c-api
-
- build_samples_others:
- needs: [build_iwasm]
- runs-on: ${{ matrix.os }}
- strategy:
- matrix:
- os: [ubuntu-20.04, ubuntu-22.04]
- wasi_sdk_release:
- [
- "https://github.com/WebAssembly/wasi-sdk/releases/download/wasi-sdk-20/wasi-sdk-20.0-linux.tar.gz",
- ]
- wabt_release:
- [
- "https://github.com/WebAssembly/wabt/releases/download/1.0.31/wabt-1.0.31-ubuntu.tar.gz",
- ]
- steps:
- - name: checkout
- uses: actions/checkout@v3
-
- - name: download and install wasi-sdk
- run: |
- cd /opt
- sudo wget ${{ matrix.wasi_sdk_release }}
- sudo tar -xzf wasi-sdk-*.tar.gz
- sudo mv wasi-sdk-20.0 wasi-sdk
-
- - name: download and install wabt
- run: |
- cd /opt
- sudo wget ${{ matrix.wabt_release }}
- sudo tar -xzf wabt-1.0.31-*.tar.gz
- sudo mv wabt-1.0.31 wabt
-
- - name: Build Sample [basic]
- run: |
- cd samples/basic
- ./build.sh
- ./run.sh
-
- - name: Build Sample [file]
- run: |
- cd samples/file
- mkdir build && cd build
- cmake ..
- cmake --build . --config Release --parallel 4
- ./src/iwasm -f wasm-app/file.wasm -d .
-
- - name: Build Sample [multi-thread]
- run: |
- cd samples/multi-thread
- mkdir build && cd build
- cmake ..
- cmake --build . --config Release --parallel 4
- ./iwasm wasm-apps/test.wasm
-
- - name: Build Sample [multi-module]
- run: |
- cd samples/multi-module
- mkdir build && cd build
- cmake ..
- cmake --build . --config Release --parallel 4
- ./multi_module
-
- - name: Build Sample [spawn-thread]
- run: |
- cd samples/spawn-thread
- mkdir build && cd build
- cmake ..
- cmake --build . --config Release --parallel 4
- ./spawn_thread
-
- - name: Build Sample [ref-types]
- run: |
- cd samples/ref-types
- mkdir build && cd build
- cmake ..
- cmake --build . --config Release --parallel 4
- ./hello
-
- - name: Build Sample [simple]
- run: |
- ./build.sh -p host-interp
- python3 ./sample_test_run.py $(pwd)/out
- exit $?
- working-directory: ./samples/simple
-
- - name: Build Sample [wasi-threads]
- run: |
- cd samples/wasi-threads
- mkdir build && cd build
- cmake ..
- cmake --build . --config Release --parallel 4
- ./iwasm wasm-apps/no_pthread.wasm
-
- test:
- needs:
- [
- build_iwasm,
- build_llvm_libraries_on_ubuntu_2004,
- build_llvm_libraries_on_ubuntu_2204,
- build_wamrc,
- ]
- runs-on: ${{ matrix.os }}
- strategy:
- matrix:
- os: [ubuntu-20.04, ubuntu-22.04]
- running_mode:
- [
- "classic-interp",
- "fast-interp",
- "jit",
- "aot",
- "fast-jit",
- "multi-tier-jit",
- ]
- test_option:
- [
- $DEFAULT_TEST_OPTIONS,
- $MULTI_MODULES_TEST_OPTIONS,
- $SIMD_TEST_OPTIONS,
- $THREADS_TEST_OPTIONS,
- $WASI_TEST_OPTIONS,
- ]
- wasi_sdk_release:
- [
- "https://github.com/WebAssembly/wasi-sdk/releases/download/wasi-sdk-20/wasi-sdk-20.0-linux.tar.gz",
- ]
- 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
- llvm_cache_key: ${{ needs.build_llvm_libraries_on_ubuntu_2204.outputs.cache_key }}
- ubuntu_version: "22.04"
- exclude:
- # uncompatiable modes and features
- # classic-interp and fast-interp don't support simd
- - running_mode: "classic-interp"
- test_option: $SIMD_TEST_OPTIONS
- - running_mode: "fast-interp"
- test_option: $SIMD_TEST_OPTIONS
- # aot and jit don't support multi module
- - running_mode: "aot"
- test_option: $MULTI_MODULES_TEST_OPTIONS
- - running_mode: "jit"
- test_option: $MULTI_MODULES_TEST_OPTIONS
- # fast-jit doesn't support multi module, simd
- - running_mode: "fast-jit"
- test_option: $MULTI_MODULES_TEST_OPTIONS
- - running_mode: "fast-jit"
- test_option: $SIMD_TEST_OPTIONS
- # multi-tier-jit doesn't support multi module, simd
- - running_mode: "multi-tier-jit"
- test_option: $MULTI_MODULES_TEST_OPTIONS
- - running_mode: "multi-tier-jit"
- test_option: $SIMD_TEST_OPTIONS
- steps:
- - name: checkout
- uses: actions/checkout@v3
-
- - name: download and install wasi-sdk
- if: matrix.test_option == '$WASI_TEST_OPTIONS'
- run: |
- cd /opt
- sudo wget ${{ matrix.wasi_sdk_release }}
- sudo tar -xzf wasi-sdk-*.tar.gz
- sudo mv wasi-sdk-20.0 wasi-sdk
-
- - name: set env variable(if llvm are used)
- if: matrix.running_mode == 'aot' || matrix.running_mode == 'jit' || matrix.running_mode == 'multi-tier-jit'
- run: echo "USE_LLVM=true" >> $GITHUB_ENV
-
- - name: set env variable(if x86_32 test needed)
- if: >
- (matrix.test_option == '$DEFAULT_TEST_OPTIONS' || matrix.test_option == '$THREADS_TEST_OPTIONS'
- || matrix.test_option == '$WASI_TEST_OPTIONS')
- && matrix.running_mode != 'fast-jit' && matrix.running_mode != 'jit' && matrix.running_mode != 'multi-tier-jit'
- run: echo "TEST_ON_X86_32=true" >> $GITHUB_ENV
-
- #only download llvm libraries in jit and aot mode
- - name: Get LLVM libraries
- if: env.USE_LLVM == 'true'
- id: retrieve_llvm_libs
- uses: actions/cache@v3
- with:
- path: |
- ./core/deps/llvm/build/bin
- ./core/deps/llvm/build/include
- ./core/deps/llvm/build/lib
- ./core/deps/llvm/build/libexec
- ./core/deps/llvm/build/share
- key: ${{ matrix.llvm_cache_key }}
-
- - name: Quit if cache miss
- if: env.USE_LLVM == 'true' && steps.retrieve_llvm_libs.outputs.cache-hit != 'true'
- run: echo "::error::can not get prebuilt llvm libraries" && exit 1
-
- - name: install jq JSON processor
- if: matrix.running_mode == 'aot' && matrix.test_option == '$WASI_TEST_OPTIONS'
- run: sudo apt-get update && sudo apt install -y jq
-
- - name: Build WASI thread tests
- if: matrix.test_option == '$WASI_TEST_OPTIONS'
- run: bash build.sh
- working-directory: ./core/iwasm/libraries/lib-wasi-threads/test/
-
- - name: build socket api tests
- if: matrix.test_option == '$WASI_TEST_OPTIONS'
- run: bash build.sh
- working-directory: ./core/iwasm/libraries/lib-socket/test/
-
- - name: run tests
- timeout-minutes: 10
- run: ./test_wamr.sh ${{ matrix.test_option }} -t ${{ matrix.running_mode }}
- working-directory: ./tests/wamr-test-suites
-
- #only install x32 support libraries when to run x86_32 cases
- - name: install x32 support libraries
- if: env.TEST_ON_X86_32 == 'true'
- run:
- # Add another apt repository as some packages cannot
- # be downloaded with the github default repository
- sudo curl -sSL https://packages.microsoft.com/keys/microsoft.asc | sudo tee /etc/apt/trusted.gpg.d/microsoft.asc &&
- sudo apt-add-repository https://packages.microsoft.com/ubuntu/${{ matrix.ubuntu_version }}/prod &&
- sudo apt-get update &&
- sudo apt install -y g++-multilib lib32gcc-9-dev
-
- - name: run tests x86_32
- timeout-minutes: 10
- if: env.TEST_ON_X86_32 == 'true'
- run: ./test_wamr.sh ${{ env.X86_32_TARGET_TEST_OPTIONS }} ${{ matrix.test_option }} -t ${{ matrix.running_mode }}
- working-directory: ./tests/wamr-test-suites
diff --git a/fluent-bit/lib/wasm-micro-runtime-WAMR-1.2.2/.github/workflows/compilation_on_macos.yml b/fluent-bit/lib/wasm-micro-runtime-WAMR-1.2.2/.github/workflows/compilation_on_macos.yml
deleted file mode 100644
index aaa97d038..000000000
--- a/fluent-bit/lib/wasm-micro-runtime-WAMR-1.2.2/.github/workflows/compilation_on_macos.yml
+++ /dev/null
@@ -1,331 +0,0 @@
-# Copyright (C) 2019 Intel Corporation. All rights reserved.
-# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
-
-name: compilation on macos-latest
-
-on:
- # will be triggered on PR events
- pull_request:
- types:
- - opened
- - synchronize
- paths:
- - ".github/workflows/build_llvm_libraries.yml"
- - ".github/workflows/compilation_on_macos.yml"
- - "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/workflows/build_llvm_libraries.yml"
- - ".github/workflows/compilation_on_macos.yml"
- - "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
-
-env:
- AOT_BUILD_OPTIONS: "-DWAMR_BUILD_AOT=1 -DWAMR_BUILD_FAST_INTERP=0 -DWAMR_BUILD_INTERP=0 -DWAMR_BUILD_JIT=0 -DWAMR_BUILD_LAZY_JIT=0"
- CLASSIC_INTERP_BUILD_OPTIONS: "-DWAMR_BUILD_AOT=0 -DWAMR_BUILD_FAST_INTERP=0 -DWAMR_BUILD_INTERP=1 -DWAMR_BUILD_JIT=0 -DWAMR_BUILD_LAZY_JIT=0"
- FAST_INTERP_BUILD_OPTIONS: "-DWAMR_BUILD_AOT=0 -DWAMR_BUILD_FAST_INTERP=1 -DWAMR_BUILD_INTERP=1 -DWAMR_BUILD_JIT=0 -DWAMR_BUILD_LAZY_JIT=0"
- 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"
-
-jobs:
- build_llvm_libraries:
- uses: ./.github/workflows/build_llvm_libraries.yml
- with:
- os: "macos-latest"
- arch: "X86"
-
- build_wamrc:
- needs: [build_llvm_libraries]
- runs-on: ${{ matrix.os }}
- strategy:
- matrix:
- include:
- - os: macos-latest
- llvm_cache_key: ${{ needs.build_llvm_libraries.outputs.cache_key }}
- steps:
- - name: checkout
- uses: actions/checkout@v3
-
- - name: Get LLVM libraries
- id: retrieve_llvm_libs
- uses: actions/cache@v3
- with:
- path: |
- ./core/deps/llvm/build/bin
- ./core/deps/llvm/build/include
- ./core/deps/llvm/build/lib
- ./core/deps/llvm/build/libexec
- ./core/deps/llvm/build/share
- key: ${{ matrix.llvm_cache_key }}
-
- - name: Quit if cache miss
- if: steps.retrieve_llvm_libs.outputs.cache-hit != 'true'
- run: echo "::error::can not get prebuilt llvm libraries" && exit 1
-
- - name: Build wamrc
- run: |
- mkdir build && cd build
- cmake ..
- cmake --build . --config Release --parallel 4
- working-directory: wamr-compiler
-
- build_iwasm:
- needs: [build_llvm_libraries]
- runs-on: ${{ matrix.os }}
- strategy:
- matrix:
- make_options_run_mode: [
- # Running mode
- $AOT_BUILD_OPTIONS,
- $CLASSIC_INTERP_BUILD_OPTIONS,
- $FAST_INTERP_BUILD_OPTIONS,
- $LLVM_LAZY_JIT_BUILD_OPTIONS,
- $LLVM_EAGER_JIT_BUILD_OPTIONS,
- ]
- make_options_feature: [
- # Features
- "-DWAMR_BUILD_CUSTOM_NAME_SECTION=1",
- # doesn't support
- #"-DWAMR_BUILD_DEBUG_AOT=1",
- "-DWAMR_BUILD_DEBUG_INTERP=1",
- "-DWAMR_BUILD_DUMP_CALL_STACK=1",
- "-DWAMR_BUILD_LIB_PTHREAD=1",
- "-DWAMR_BUILD_LIB_WASI_THREADS=1",
- "-DWAMR_BUILD_LOAD_CUSTOM_SECTION=1",
- "-DWAMR_BUILD_MINI_LOADER=1",
- "-DWAMR_BUILD_MEMORY_PROFILING=1",
- "-DWAMR_BUILD_MULTI_MODULE=1",
- "-DWAMR_BUILD_PERF_PROFILING=1",
- "-DWAMR_BUILD_REF_TYPES=1",
- "-DWAMR_BUILD_SIMD=1",
- "-DWAMR_BUILD_TAIL_CALL=1",
- "-DWAMR_DISABLE_HW_BOUND_CHECK=1",
- ]
- os: [macos-latest]
- platform: [darwin]
- exclude:
- # uncompatiable feature and platform
- # uncompatiable mode and feature
- # MULTI_MODULE only on INTERP mode
- - make_options_run_mode: $LLVM_LAZY_JIT_BUILD_OPTIONS
- make_options_feature: "-DWAMR_BUILD_MULTI_MODULE=1"
- - make_options_run_mode: $LLVM_EAGER_JIT_BUILD_OPTIONS
- make_options_feature: "-DWAMR_BUILD_MULTI_MODULE=1"
- - make_options_run_mode: $AOT_BUILD_OPTIONS
- make_options_feature: "-DWAMR_BUILD_MULTI_MODULE=1"
- # SIMD only on JIT/AOT mode
- - make_options_run_mode: $CLASSIC_INTERP_BUILD_OPTIONS
- make_options_feature: "-DWAMR_BUILD_SIMD=1"
- - make_options_run_mode: $FAST_INTERP_BUILD_OPTIONS
- make_options_feature: "-DWAMR_BUILD_SIMD=1"
- # DEBUG_INTERP only on CLASSIC INTERP mode
- - make_options_run_mode: $AOT_BUILD_OPTIONS
- make_options_feature: "-DWAMR_BUILD_DEBUG_INTERP=1"
- - make_options_run_mode: $LLVM_LAZY_JIT_BUILD_OPTIONS
- make_options_feature: "-DWAMR_BUILD_DEBUG_INTERP=1"
- - make_options_run_mode: $LLVM_EAGER_JIT_BUILD_OPTIONS
- make_options_feature: "-DWAMR_BUILD_DEBUG_INTERP=1"
- - make_options_run_mode: $FAST_INTERP_BUILD_OPTIONS
- make_options_feature: "-DWAMR_BUILD_DEBUG_INTERP=1"
- # DEBUG_AOT only on JIT/AOT mode
- - make_options_run_mode: $CLASSIC_INTERP_BUILD_OPTIONS
- make_options_feature: "-DWAMR_BUILD_DEBUG_AOT=1"
- - make_options_run_mode: $FAST_INTERP_BUILD_OPTIONS
- make_options_feature: "-DWAMR_BUILD_DEBUG_AOT=1"
- # TODO: DEBUG_AOT on JIT
- - make_options_run_mode: $LLVM_LAZY_JIT_BUILD_OPTIONS
- make_options_feature: "-DWAMR_BUILD_DEBUG_AOT=1"
- - make_options_run_mode: $LLVM_EAGER_JIT_BUILD_OPTIONS
- make_options_feature: "-DWAMR_BUILD_DEBUG_AOT=1"
- # MINI_LOADER only on INTERP mode
- - make_options_run_mode: $AOT_BUILD_OPTIONS
- make_options_feature: "-DWAMR_BUILD_MINI_LOADER=1"
- - make_options_run_mode: $LLVM_LAZY_JIT_BUILD_OPTIONS
- make_options_feature: "-DWAMR_BUILD_MINI_LOADER=1"
- - make_options_run_mode: $LLVM_EAGER_JIT_BUILD_OPTIONS
- make_options_feature: "-DWAMR_BUILD_MINI_LOADER=1"
- include:
- - os: macos-latest
- llvm_cache_key: ${{ needs.build_llvm_libraries.outputs.cache_key }}
- steps:
- - name: checkout
- uses: actions/checkout@v3
-
- # only download llvm cache when needed
- - name: Get LLVM libraries
- id: retrieve_llvm_libs
- if: endsWith(matrix.make_options_run_mode, '_JIT_BUILD_OPTIONS')
- uses: actions/cache@v3
- with:
- path: |
- ./core/deps/llvm/build/bin
- ./core/deps/llvm/build/include
- ./core/deps/llvm/build/lib
- ./core/deps/llvm/build/libexec
- ./core/deps/llvm/build/share
- key: ${{ matrix.llvm_cache_key }}
-
- - name: Quit if cache miss
- if: endsWith(matrix.make_options_run_mode, '_JIT_BUILD_OPTIONS') && (steps.retrieve_llvm_libs.outputs.cache-hit != 'true')
- run: echo "::error::can not get prebuilt llvm libraries" && exit 1
-
- - name: Build iwasm
- run: |
- mkdir build && cd build
- cmake .. ${{ matrix.make_options_run_mode }} ${{ matrix.make_options_feature }}
- cmake --build . --config Release --parallel 4
- working-directory: product-mini/platforms/${{ matrix.platform }}
-
- build_samples_wasm_c_api:
- needs: [build_iwasm]
- runs-on: ${{ matrix.os }}
- strategy:
- matrix:
- make_options: [
- # Running modes supported
- $CLASSIC_INTERP_BUILD_OPTIONS,
- $FAST_INTERP_BUILD_OPTIONS,
- # Running modes unsupported
- #$LLVM_LAZY_JIT_BUILD_OPTIONS,
- #$LLVM_EAGER_JIT_BUILD_OPTIONS,
- #$AOT_BUILD_OPTIONS,
- ]
- os: [macos-latest]
- wasi_sdk_release:
- [
- "https://github.com/WebAssembly/wasi-sdk/releases/download/wasi-sdk-20/wasi-sdk-20.0-macos.tar.gz",
- ]
- wabt_release:
- [
- "https://github.com/WebAssembly/wabt/releases/download/1.0.31/wabt-1.0.31-macos-12.tar.gz",
- ]
- steps:
- - name: checkout
- uses: actions/checkout@v3
-
- - name: download and install wabt
- run: |
- cd /opt
- sudo wget ${{ matrix.wabt_release }}
- sudo tar -xzf wabt-1.0.31-*.tar.gz
- sudo mv wabt-1.0.31 wabt
-
- - name: Build Sample [wasm-c-api]
- run: |
- cmake -S . -B build ${{ matrix.make_options }}
- cmake --build build --config Release --parallel 4
- ctest --test-dir build
- working-directory: samples/wasm-c-api
-
- build_samples_others:
- needs: [build_iwasm]
- runs-on: ${{ matrix.os }}
- strategy:
- matrix:
- os: [macos-latest]
- wasi_sdk_release:
- [
- "https://github.com/WebAssembly/wasi-sdk/releases/download/wasi-sdk-20/wasi-sdk-20.0-macos.tar.gz",
- ]
- wabt_release:
- [
- "https://github.com/WebAssembly/wabt/releases/download/1.0.31/wabt-1.0.31-macos-12.tar.gz",
- ]
- steps:
- - name: checkout
- uses: actions/checkout@v3
-
- - name: download and install wasi-sdk
- run: |
- cd /opt
- sudo wget ${{ matrix.wasi_sdk_release }}
- sudo tar -xzf wasi-sdk-*.tar.gz
- sudo mv wasi-sdk-20.0 wasi-sdk
-
- - name: download and install wabt
- run: |
- cd /opt
- sudo wget ${{ matrix.wabt_release }}
- sudo tar -xzf wabt-1.0.31-*.tar.gz
- sudo mv wabt-1.0.31 wabt
-
- - name: Build Sample [basic]
- run: |
- cd samples/basic
- ./build.sh
- ./run.sh
-
- - name: Build Sample [file]
- run: |
- cd samples/file
- mkdir build && cd build
- cmake ..
- cmake --build . --config Release --parallel 4
- ./src/iwasm -f wasm-app/file.wasm -d .
-
- - name: Build Sample [multi-thread]
- run: |
- cd samples/multi-thread
- mkdir build && cd build
- cmake ..
- cmake --build . --config Release --parallel 4
- ./iwasm wasm-apps/test.wasm
-
- - name: Build Sample [multi-module]
- run: |
- cd samples/multi-module
- mkdir build && cd build
- cmake ..
- cmake --build . --config Release --parallel 4
- ./multi_module
-
- - name: Build Sample [spawn-thread]
- run: |
- cd samples/spawn-thread
- mkdir build && cd build
- cmake ..
- cmake --build . --config Release --parallel 4
- ./spawn_thread
-
- - name: Build Sample [ref-types]
- run: |
- cd samples/ref-types
- mkdir build && cd build
- cmake ..
- cmake --build . --config Release --parallel 4
- ./hello
-
- - name: Build Sample [wasi-threads]
- run: |
- cd samples/wasi-threads
- mkdir build && cd build
- cmake ..
- cmake --build . --config Release --parallel 4
- ./iwasm wasm-apps/no_pthread.wasm
diff --git a/fluent-bit/lib/wasm-micro-runtime-WAMR-1.2.2/.github/workflows/compilation_on_nuttx.yml b/fluent-bit/lib/wasm-micro-runtime-WAMR-1.2.2/.github/workflows/compilation_on_nuttx.yml
deleted file mode 100644
index f338c8dea..000000000
--- a/fluent-bit/lib/wasm-micro-runtime-WAMR-1.2.2/.github/workflows/compilation_on_nuttx.yml
+++ /dev/null
@@ -1,134 +0,0 @@
-# Copyright (C) 2019 Intel Corporation. All rights reserved.
-# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
-
-name: compilation on nuttx
-
-on:
- # will be triggered on PR events
- pull_request:
- types:
- - opened
- - synchronize
- paths:
- - ".github/workflows/compilation_on_nuttx.yml"
- - "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/workflows/compilation_on_nuttx.yml"
- - "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
-
-env:
- WASI_SDK_PATH: "/opt/wasi-sdk"
-
-jobs:
- build_iwasm_on_nuttx:
- runs-on: ubuntu-22.04
- strategy:
- matrix:
- nuttx_board_config: [
- # x64
- "boards/sim/sim/sim/configs/nsh",
- # cortex-m0
- "boards/arm/rp2040/raspberrypi-pico/configs/nsh",
- # cortex-m7
- "boards/arm/stm32h7/nucleo-h743zi/configs/nsh",
- # riscv32imac
- "boards/risc-v/qemu-rv/rv-virt/configs/nsh",
- # riscv64imac
- "boards/risc-v/qemu-rv/rv-virt/configs/nsh64",
- # riscv64gc
- "boards/risc-v/k210/maix-bit/configs/nsh",
- ]
- wamr_config_option: [
- "CONFIG_INTERPRETERS_WAMR=y\\nCONFIG_INTERPRETERS_WAMR_AOT=y\\nCONFIG_INTERPRETERS_WAMR_FAST=y\\n",
- "CONFIG_INTERPRETERS_WAMR=y\\nCONFIG_INTERPRETERS_WAMR_AOT=y\\nCONFIG_INTERPRETERS_WAMR_FAST=y\\nCONFIG_INTERPRETERS_WAMR_LIBC_WASI=y\\n",
- "CONFIG_INTERPRETERS_WAMR=y\\nCONFIG_INTERPRETERS_WAMR_AOT=y\\nCONFIG_INTERPRETERS_WAMR_FAST=y\\nCONFIG_INTERPRETERS_WAMR_LIBC_BUILTIN=y\\n",
- "CONFIG_INTERPRETERS_WAMR=y\\nCONFIG_INTERPRETERS_WAMR_AOT=y\\nCONFIG_INTERPRETERS_WAMR_CLASSIC=y\\n",
- "CONFIG_INTERPRETERS_WAMR=y\\nCONFIG_INTERPRETERS_WAMR_AOT=y\\nCONFIG_INTERPRETERS_WAMR_CLASSIC=y\\nCONFIG_INTERPRETERS_WAMR_LIBC_WASI=y\\n",
- "CONFIG_INTERPRETERS_WAMR=y\\nCONFIG_INTERPRETERS_WAMR_AOT=y\\nCONFIG_INTERPRETERS_WAMR_CLASSIC=y\\nCONFIG_INTERPRETERS_WAMR_LIBC_BUILTIN=y\\n",
- "CONFIG_INTERPRETERS_WAMR=y\\nCONFIG_INTERPRETERS_WAMR_AOT=y\\nCONFIG_INTERPRETERS_WAMR_LIBC_BUILTIN=y\\n",
- "CONFIG_INTERPRETERS_WAMR=y\\nCONFIG_INTERPRETERS_WAMR_AOT=y\\n",
- "CONFIG_INTERPRETERS_WAMR=y\\nCONFIG_INTERPRETERS_WAMR_FAST=y\\n",
- "CONFIG_INTERPRETERS_WAMR=y\\nCONFIG_INTERPRETERS_WAMR_CLASSIC=y\\n",
- ]
-
- steps:
- - name: Install Utilities
- run: |
- sudo apt install -y kconfig-frontends-nox genromfs
- pip3 install pyelftools
- pip3 install cxxfilt
-
- - name: Install ARM Compilers
- if: contains(matrix.nuttx_board_config, 'arm')
- run: sudo apt install -y gcc-arm-none-eabi
-
- - name: Install RISC-V Compilers
- if: contains(matrix.nuttx_board_config, 'risc-v')
- run: |
- curl -L https://static.dev.sifive.com/dev-tools/freedom-tools/v2020.12/riscv64-unknown-elf-toolchain-10.2.0-2020.12.8-x86_64-linux-ubuntu14.tar.gz > riscv.tar.gz
- tar xvf riscv.tar.gz
- echo "$PWD/riscv64-unknown-elf-toolchain-10.2.0-2020.12.8-x86_64-linux-ubuntu14/bin" >> $GITHUB_PATH
-
- - name: Install WASI-SDK
- run: |
- curl -L https://github.com/WebAssembly/wasi-sdk/releases/download/wasi-sdk-19/wasi-sdk-19.0-linux.tar.gz > wasi-sdk.tar.gz
- tar xvf wasi-sdk.tar.gz
- sudo mv wasi-sdk-* /opt/wasi-sdk
-
- - name: Checkout NuttX
- uses: actions/checkout@v3
- with:
- repository: apache/incubator-nuttx
- path: nuttx
-
- - name: Checkout NuttX Apps
- uses: actions/checkout@v3
- with:
- repository: apache/incubator-nuttx-apps
- path: apps
-
- - name: Checkout WAMR
- uses: actions/checkout@v3
- with:
- repository: ${{ github.repository }}
- path: apps/interpreters/wamr/wamr
-
- - name: Enable WAMR for NuttX
- run: |
- find nuttx/boards -name defconfig | xargs sed -i '$a\CONFIG_EOL_IS_LF=y\nCONFIG_PSEUDOFS_SOFTLINKS=y\n${{ matrix.wamr_config_option }}'
- find nuttx/boards/sim -name defconfig | xargs sed -i '$a\CONFIG_LIBM=y\n'
-
- - name: Build
- run: |
- cd nuttx
- tools/configure.sh ${{ matrix.nuttx_board_config }}
- make -j$(nproc) EXTRAFLAGS=-Werror
diff --git a/fluent-bit/lib/wasm-micro-runtime-WAMR-1.2.2/.github/workflows/compilation_on_sgx.yml b/fluent-bit/lib/wasm-micro-runtime-WAMR-1.2.2/.github/workflows/compilation_on_sgx.yml
deleted file mode 100644
index f17261118..000000000
--- a/fluent-bit/lib/wasm-micro-runtime-WAMR-1.2.2/.github/workflows/compilation_on_sgx.yml
+++ /dev/null
@@ -1,401 +0,0 @@
-# Copyright (C) 2019 Intel Corporation. All rights reserved.
-# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
-
-name: compilation on SGX
-
-on:
- # will be triggered on PR events
- pull_request:
- types:
- - opened
- - synchronize
- paths:
- - ".github/workflows/build_llvm_libraries.yml"
- - ".github/workflows/compilation_on_sgx.yml"
- - "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/workflows/build_llvm_libraries.yml"
- - ".github/workflows/compilation_on_sgx.yml"
- - "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
-
-env:
- AOT_BUILD_OPTIONS: "-DWAMR_BUILD_AOT=1 -DWAMR_BUILD_FAST_INTERP=0 -DWAMR_BUILD_INTERP=0 -DWAMR_BUILD_JIT=0 -DWAMR_BUILD_LAZY_JIT=0"
- CLASSIC_INTERP_BUILD_OPTIONS: "-DWAMR_BUILD_AOT=0 -DWAMR_BUILD_FAST_INTERP=0 -DWAMR_BUILD_INTERP=1 -DWAMR_BUILD_JIT=0 -DWAMR_BUILD_LAZY_JIT=0"
- FAST_INTERP_BUILD_OPTIONS: "-DWAMR_BUILD_AOT=0 -DWAMR_BUILD_FAST_INTERP=1 -DWAMR_BUILD_INTERP=1 -DWAMR_BUILD_JIT=0 -DWAMR_BUILD_LAZY_JIT=0"
- 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"
-
-jobs:
- build_llvm_libraries:
- uses: ./.github/workflows/build_llvm_libraries.yml
- with:
- os: "ubuntu-20.04"
- arch: "X86"
-
- build_iwasm:
- runs-on: ${{ matrix.os }}
- strategy:
- matrix:
- make_options_run_mode: [
- # Running modes supported
- $AOT_BUILD_OPTIONS,
- $CLASSIC_INTERP_BUILD_OPTIONS,
- $FAST_INTERP_BUILD_OPTIONS,
- # Running modes unsupported
- #$LLVM_LAZY_JIT_BUILD_OPTIONS,
- #$LLVM_EAGER_JIT_BUILD_OPTIONS,
- ]
- make_options_feature: [
- # Features
- "-DWAMR_BUILD_CUSTOM_NAME_SECTION=1",
- # doesn't support
- # "-DWAMR_BUILD_DEBUG_AOT=1",
- # "-DWAMR_BUILD_DEBUG_INTERP=1",
- "-DWAMR_BUILD_DUMP_CALL_STACK=1",
- "-DWAMR_BUILD_LIB_PTHREAD=1",
- "-DWAMR_BUILD_LIB_WASI_THREADS=1",
- "-DWAMR_BUILD_LOAD_CUSTOM_SECTION=1",
- "-DWAMR_BUILD_MINI_LOADER=1",
- "-DWAMR_BUILD_MEMORY_PROFILING=1",
- "-DWAMR_BUILD_MULTI_MODULE=1",
- "-DWAMR_BUILD_PERF_PROFILING=1",
- "-DWAMR_BUILD_REF_TYPES=1",
- # doesn't support
- # "-DWAMR_BUILD_SIMD=1",
- "-DWAMR_BUILD_TAIL_CALL=1",
- "-DWAMR_DISABLE_HW_BOUND_CHECK=1",
- "-DWAMR_BUILD_SGX_IPFS=1",
- ]
- os: [ubuntu-20.04]
- platform: [linux-sgx]
- exclude:
- # uncompatiable mode and feature
- # MULTI_MODULE only on INTERP mode
- - make_options_run_mode: $AOT_BUILD_OPTIONS
- make_options_feature: "-DWAMR_BUILD_MULTI_MODULE=1"
- # MINI_LOADER only on INTERP mode
- - make_options_run_mode: $AOT_BUILD_OPTIONS
- make_options_feature: "-DWAMR_BUILD_MINI_LOADER=1"
- 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
- uses: actions/checkout@v3
-
- - name: Build iwasm
- run: |
- mkdir build && cd build
- cmake .. ${{ matrix.make_options_run_mode }} ${{ matrix.make_options_feature }}
- cmake --build . --config Release --parallel 4
- working-directory: product-mini/platforms/${{ matrix.platform }}
-
- build_wamrc:
- needs: [build_llvm_libraries]
- runs-on: ${{ matrix.os }}
- strategy:
- matrix:
- include:
- - os: ubuntu-20.04
- llvm_cache_key: ${{ needs.build_llvm_libraries.outputs.cache_key }}
- 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
- uses: actions/checkout@v3
-
- - name: Get LLVM libraries
- id: retrieve_llvm_libs
- uses: actions/cache@v3
- with:
- path: |
- ./core/deps/llvm/build/bin
- ./core/deps/llvm/build/include
- ./core/deps/llvm/build/lib
- ./core/deps/llvm/build/libexec
- ./core/deps/llvm/build/share
- key: ${{ matrix.llvm_cache_key }}
-
- - name: Quit if cache miss
- if: steps.retrieve_llvm_libs.outputs.cache-hit != 'true'
- run: echo "::error::can not get prebuilt llvm libraries" && exit 1
-
- - name: Build wamrc
- run: |
- mkdir build && cd build
- cmake ..
- cmake --build . --config Release --parallel 4
- working-directory: wamr-compiler
-
- build_samples_wasm_c_api:
- needs: [build_iwasm]
- runs-on: ${{ matrix.os }}
- strategy:
- matrix:
- make_options: [
- # Running modes supported
- $CLASSIC_INTERP_BUILD_OPTIONS,
- $FAST_INTERP_BUILD_OPTIONS,
- # Running modes unsupported
- #$LLVM_EAGER_JIT_BUILD_OPTIONS,
- #$LLVM_LAZY_JIT_BUILD_OPTIONS,
- #$AOT_BUILD_OPTIONS,
- ]
- os: [ubuntu-20.04]
- wasi_sdk_release:
- [
- "https://github.com/WebAssembly/wasi-sdk/releases/download/wasi-sdk-19/wasi-sdk-19.0-linux.tar.gz",
- ]
- wabt_release:
- [
- "https://github.com/WebAssembly/wabt/releases/download/1.0.31/wabt-1.0.31-ubuntu.tar.gz",
- ]
- steps:
- - name: checkout
- uses: actions/checkout@v3
-
- - name: download and install wabt
- run: |
- cd /opt
- sudo wget ${{ matrix.wabt_release }}
- sudo tar -xzf wabt-1.0.31-*.tar.gz
- sudo mv wabt-1.0.31 wabt
-
- - 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: Build Sample [wasm-c-api]
- run: |
- cmake -S . -B build ${{ matrix.make_options }}
- cmake --build build --config Release --parallel 4
- ctest --test-dir build
- working-directory: samples/wasm-c-api
-
- build_samples_others:
- needs: [build_iwasm]
- runs-on: ${{ matrix.os }}
- strategy:
- matrix:
- os: [ubuntu-20.04]
- wasi_sdk_release:
- [
- "https://github.com/WebAssembly/wasi-sdk/releases/download/wasi-sdk-19/wasi-sdk-19.0-linux.tar.gz",
- ]
- wabt_release:
- [
- "https://github.com/WebAssembly/wabt/releases/download/1.0.31/wabt-1.0.31-ubuntu.tar.gz",
- ]
- steps:
- - name: checkout
- uses: actions/checkout@v3
-
- - name: download and install wasi-sdk
- run: |
- cd /opt
- sudo wget ${{ matrix.wasi_sdk_release }}
- sudo tar -xzf wasi-sdk-*.tar.gz
- sudo mv wasi-sdk-19.0 wasi-sdk
-
- - name: download and install wabt
- run: |
- cd /opt
- sudo wget ${{ matrix.wabt_release }}
- sudo tar -xzf wabt-1.0.31-*.tar.gz
- 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
- 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: Build Sample [basic]
- run: |
- cd samples/basic
- ./build.sh
- ./run.sh
-
- - name: Build Sample [file]
- run: |
- cd samples/file
- mkdir build && cd build
- cmake ..
- cmake --build . --config Release --parallel 4
- ./src/iwasm -f wasm-app/file.wasm -d .
-
- - name: Build Sample [multi-thread]
- run: |
- cd samples/multi-thread
- mkdir build && cd build
- cmake ..
- cmake --build . --config Release --parallel 4
- ./iwasm wasm-apps/test.wasm
-
- - name: Build Sample [multi-module]
- run: |
- cd samples/multi-module
- mkdir build && cd build
- cmake ..
- cmake --build . --config Release --parallel 4
- ./multi_module
-
- - name: Build Sample [spawn-thread]
- run: |
- cd samples/spawn-thread
- mkdir build && cd build
- cmake ..
- cmake --build . --config Release --parallel 4
- ./spawn_thread
-
- - name: Build Sample [ref-types]
- run: |
- cd samples/ref-types
- mkdir build && cd build
- cmake ..
- cmake --build . --config Release --parallel 4
- ./hello
-
- - name: Build Sample [wasi-threads]
- run: |
- cd samples/wasi-threads
- mkdir build && cd build
- cmake -DWASI_SYSROOT=`pwd`/../../../core/deps/wasi-libc/sysroot ..
- cmake --build . --config Release --parallel 4
- ./iwasm wasm-apps/no_pthread.wasm
-
- spec_test_default:
- needs: [build_iwasm, build_llvm_libraries, build_wamrc]
- runs-on: ubuntu-20.04
- strategy:
- matrix:
- running_mode: ["classic-interp", "fast-interp", "aot"]
- test_option: ["-x -p -s spec -b -P", "-x -p -s spec -S -b -P"]
- llvm_cache_key: ["${{ needs.build_llvm_libraries.outputs.cache_key }}"]
- # classic-interp and fast-interp don't support simd
- exclude:
- - running_mode: "classic-interp"
- test_option: "-x -p -s spec -S -b -P"
- - running_mode: "fast-interp"
- test_option: "-x -p -s spec -S -b -P"
-
- steps:
- - name: checkout
- uses: actions/checkout@v3
-
- - name: Get LLVM libraries
- if: matrix.running_mode == 'aot'
- id: retrieve_llvm_libs
- uses: actions/cache@v3
- with:
- path: |
- ./core/deps/llvm/build/bin
- ./core/deps/llvm/build/include
- ./core/deps/llvm/build/lib
- ./core/deps/llvm/build/libexec
- ./core/deps/llvm/build/share
- key: ${{ matrix.llvm_cache_key }}
-
- - name: Quit if cache miss
- if: matrix.running_mode == 'aot' && steps.retrieve_llvm_libs.outputs.cache-hit != 'true'
- run: echo "::error::can not get prebuilt llvm libraries" && exit 1
-
- - 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
-
- - name: run spec tests
- run: |
- source /opt/intel/sgxsdk/environment
- ./test_wamr.sh ${{ matrix.test_option }} -t ${{ matrix.running_mode }}
- working-directory: ./tests/wamr-test-suites
diff --git a/fluent-bit/lib/wasm-micro-runtime-WAMR-1.2.2/.github/workflows/compilation_on_windows.yml b/fluent-bit/lib/wasm-micro-runtime-WAMR-1.2.2/.github/workflows/compilation_on_windows.yml
deleted file mode 100644
index 0d38e8ae5..000000000
--- a/fluent-bit/lib/wasm-micro-runtime-WAMR-1.2.2/.github/workflows/compilation_on_windows.yml
+++ /dev/null
@@ -1,77 +0,0 @@
-# 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/**"
- - "wamr-sdk/**"
- # 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/**"
- - "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
- 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"
- ]
- steps:
- - uses: actions/checkout@v3
-
- - name: clone uvwasi library
- 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
diff --git a/fluent-bit/lib/wasm-micro-runtime-WAMR-1.2.2/.github/workflows/create_tag.yml b/fluent-bit/lib/wasm-micro-runtime-WAMR-1.2.2/.github/workflows/create_tag.yml
deleted file mode 100644
index 3a145bf04..000000000
--- a/fluent-bit/lib/wasm-micro-runtime-WAMR-1.2.2/.github/workflows/create_tag.yml
+++ /dev/null
@@ -1,68 +0,0 @@
-# Copyright (C) 2019 Intel Corporation. All rights reserved.
-# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
-name: create a tag
-
-on:
- workflow_call:
- outputs:
- minor_version:
- description: "the new version is a minor version or a major version"
- value: ${{ jobs.create_tag.outputs.minor_version}}
- new_ver:
- description: "the new version"
- value: ${{ jobs.create_tag.outputs.new_ver}}
- new_tag:
- description: "the new tag just created"
- value: ${{ jobs.create_tag.outputs.new_tag}}
-
-jobs:
- create_tag:
- runs-on: ubuntu-latest
- outputs:
- minor_version: ${{ steps.preparation.outputs.minor_version }}
- new_ver: ${{ steps.preparation.outputs.new_ver }}
- new_tag: ${{ steps.preparation.outputs.new_tag }}
-
- steps:
- - uses: actions/checkout@v3
- # Full git history is needed to get a proper list of commits and tags
- with:
- fetch-depth: 0
-
- - name: prepare
- id: preparation
- run: |
- # show latest 3 versions
- git tag --list WAMR-*.*.* --sort=committerdate --format="%(refname:short)" | tail -n 3
- # compare latest git tag and semantic version definition
- result=$(python3 ./.github/scripts/fetch_and_compare_version.py)
- echo "script result is ${result}"
- #
- # return in a form like "WAMR-X.Y.Z,major_minor_change" or ",patch_change"
- new_ver=$(echo "${result}" | awk -F',' '{print $1}')
- diff_versioning=$(echo "${result}" | awk -F',' '{print $2}')
- echo "next version is ${new_ver}, it ${diff_versioning}"
- #
- # set output
- if [[ ${diff_versioning} == 'major_minor_change' ]];then
- echo "minor_version=true" >> "$GITHUB_OUTPUT"
- else
- echo "minor_version=false" >> "$GITHUB_OUTPUT"
- fi
- #
- #
- if [[ -z ${new_ver} ]]; then
- echo "::error::please indicate the right semantic version in core/version.h"
- echo "new_ver=''" >> "$GITHUB_OUTPUT"
- echo "new_tag=''" >> "$GITHUB_OUTPUT"
- exit 1
- else
- echo "new_ver=${new_ver}" >> "$GITHUB_OUTPUT"
- echo "new_tag=WAMR-${new_ver}" >> "$GITHUB_OUTPUT"
- fi
-
- - name: push tag
- if: steps.preparation.outputs.new_tag != ''
- run: |
- git tag ${{ steps.preparation.outputs.new_tag }}
- git push origin --force --tags
diff --git a/fluent-bit/lib/wasm-micro-runtime-WAMR-1.2.2/.github/workflows/release_process.yml b/fluent-bit/lib/wasm-micro-runtime-WAMR-1.2.2/.github/workflows/release_process.yml
deleted file mode 100644
index 4188b4d40..000000000
--- a/fluent-bit/lib/wasm-micro-runtime-WAMR-1.2.2/.github/workflows/release_process.yml
+++ /dev/null
@@ -1,215 +0,0 @@
-# Copyright (C) 2019 Intel Corporation. All rights reserved.
-# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
-
-name: the binary release processes
-
-on:
- workflow_dispatch:
- inputs:
- require_confirmation:
- description: "If the process requires a confirmation"
- type: boolean
- required: false
- default: false
-
-# 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:
- create_tag:
- uses: ./.github/workflows/create_tag.yml
-
- create_release:
- needs: [create_tag]
- runs-on: ubuntu-latest
- outputs:
- upload_url: ${{ steps.create_release.outputs.upload_url }}
- steps:
- - uses: actions/checkout@v3
-
- - name: prepare the release note
- run: |
- extract_result="$(python3 ./.github/scripts/extract_from_release_notes.py RELEASE_NOTES.md)"
- echo "RELEASE_NOTE<<EOF" >> $GITHUB_ENV
- echo "${extract_result}" >> $GITHUB_ENV
- echo "EOF" >> $GITHUB_ENV
-
- - name: create a release
- id: create_release
- uses: actions/create-release@v1
- env:
- GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- with:
- tag_name: ${{ needs.create_tag.outputs.new_tag }}
- release_name: ${{ needs.create_tag.outputs.new_tag }}
- prerelease: ${{ inputs.require_confirmation || needs.create_tag.outputs.minor_version }}
- draft: false
- body: ${{ env.RELEASE_NOTE }}
-
- #
- # LLVM_LIBRARIES
- build_llvm_libraries_on_ubuntu_2004:
- needs: [create_tag, create_release]
- uses: ./.github/workflows/build_llvm_libraries.yml
- with:
- os: "ubuntu-20.04"
- arch: "X86"
-
- build_llvm_libraries_on_ubuntu_2204:
- needs: [create_tag, create_release]
- uses: ./.github/workflows/build_llvm_libraries.yml
- with:
- os: "ubuntu-22.04"
- arch: "X86"
-
- build_llvm_libraries_on_macos:
- needs: [create_tag, create_release]
- uses: ./.github/workflows/build_llvm_libraries.yml
- with:
- os: "macos-latest"
- arch: "X86"
-
- #
- # WAMRC
- release_wamrc_on_ubuntu_2004:
- 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:
- needs: [create_tag, create_release, build_llvm_libraries_on_ubuntu_2204 ]
- uses: ./.github/workflows/build_wamrc.yml
- with:
- llvm_cache_key: ${{ needs.build_llvm_libraries_on_ubuntu_2204.outputs.cache_key }}
- release: true
- runner: ubuntu-22.04
- upload_url: ${{ needs.create_release.outputs.upload_url }}
- ver_num: ${{ needs.create_tag.outputs.new_ver }}
-
- release_wamrc_on_ubuntu_macos:
- needs: [create_tag, create_release, build_llvm_libraries_on_macos]
- uses: ./.github/workflows/build_wamrc.yml
- with:
- llvm_cache_key: ${{ needs.build_llvm_libraries_on_macos.outputs.cache_key }}
- release: true
- runner: macos-latest
- upload_url: ${{ needs.create_release.outputs.upload_url }}
- ver_num: ${{ needs.create_tag.outputs.new_ver }}
-
- #
- # IWASM
- release_iwasm_on_ubuntu_2004:
- 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:
- needs: [create_tag, create_release, build_llvm_libraries_on_ubuntu_2204]
- uses: ./.github/workflows/build_iwasm_release.yml
- with:
- cwd: product-mini/platforms/linux
- llvm_cache_key: ${{ needs.build_llvm_libraries_on_ubuntu_2204.outputs.cache_key }}
- runner: ubuntu-22.04
- upload_url: ${{ needs.create_release.outputs.upload_url }}
- ver_num: ${{ needs.create_tag.outputs.new_ver}}
-
- release_iwasm_on_macos:
- needs: [create_tag, create_release, build_llvm_libraries_on_macos]
- uses: ./.github/workflows/build_iwasm_release.yml
- with:
- cwd: product-mini/platforms/darwin
- llvm_cache_key: ${{ needs.build_llvm_libraries_on_macos.outputs.cache_key }}
- runner: macos-latest
- upload_url: ${{ needs.create_release.outputs.upload_url }}
- ver_num: ${{ needs.create_tag.outputs.new_ver}}
-
- #
- # WAMR_SDK
- release_wamr_sdk_on_ubuntu_2004:
- 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
-
- release_wamr_sdk_on_ubuntu_2204:
- needs: [create_tag, create_release]
- uses: ./.github/workflows/build_wamr_sdk.yml
- with:
- config_file: wamr_config_ubuntu_release.cmake
- runner: ubuntu-22.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
-
- release_wamr_sdk_on_macos:
- needs: [create_tag, create_release]
- uses: ./.github/workflows/build_wamr_sdk.yml
- with:
- config_file: wamr_config_macos_release.cmake
- runner: macos-latest
- 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-macos.tar.gz
-
- #
- # vscode extension cross-platform
- release_wamr_ide_vscode_ext:
- needs: [create_tag, create_release]
- uses: ./.github/workflows/build_wamr_vscode_ext.yml
- secrets: inherit
- with:
- upload_url: ${{ needs.create_release.outputs.upload_url }}
- ver_num: ${{ needs.create_tag.outputs.new_ver }}
-
- #
- # vscode extension docker images package
- release_wamr_ide_docker_images_package:
- needs: [create_tag, create_release]
- uses: ./.github/workflows/build_docker_images.yml
- with:
- upload_url: ${{ needs.create_release.outputs.upload_url }}
- ver_num: ${{ needs.create_tag.outputs.new_ver }}
-
- #
- # WAMR_LLDB
- release_wamr_lldb_on_ubuntu_2004:
- 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:
- needs: [create_tag, create_release]
- uses: ./.github/workflows/build_wamr_lldb.yml
- with:
- runner: ubuntu-22.04
- upload_url: ${{ needs.create_release.outputs.upload_url }}
- ver_num: ${{ needs.create_tag.outputs.new_ver}}
-
- release_wamr_lldb_on_macos_universal:
- needs: [create_tag, create_release]
- uses: ./.github/workflows/build_wamr_lldb.yml
- with:
- runner: macos-latest
- arch: universal
- upload_url: ${{ needs.create_release.outputs.upload_url }}
- ver_num: ${{ needs.create_tag.outputs.new_ver}}
diff --git a/fluent-bit/lib/wasm-micro-runtime-WAMR-1.2.2/.github/workflows/reuse_latest_release_binaries.yml b/fluent-bit/lib/wasm-micro-runtime-WAMR-1.2.2/.github/workflows/reuse_latest_release_binaries.yml
deleted file mode 100644
index 7f82672a6..000000000
--- a/fluent-bit/lib/wasm-micro-runtime-WAMR-1.2.2/.github/workflows/reuse_latest_release_binaries.yml
+++ /dev/null
@@ -1,68 +0,0 @@
-# Copyright (C) 2019 Intel Corporation. All rights reserved.
-# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
-name: reuse binaries of the latest release if no more modification on the_path since last_commit
-
-on:
- workflow_call:
- inputs:
- binary_name_stem:
- type: string
- required: true
- last_commit:
- type: string
- required: true
- the_path:
- type: string
- required: true
- upload_url:
- description: upload binary assets to the URL of release
- type: string
- required: true
- outputs:
- result:
- value: ${{ jobs.build.outputs.result }}
-
-jobs:
- reuse:
- runs-on: ubuntu-latest
- outputs:
- result: ${{ steps.try_reuse.outputs.result }}
- steps:
- - uses: actions/checkout@v3
- # Full git history is needed to get a proper list of commits and tags
- with:
- fetch-depth: 0
-
- - name: try to reuse binaries
- id: try_reuse
- run: |
- echo '::echo::on'
- python3 ./.github/scripts/reuse_latest_release_binaries.py \
- --binary_name_stem ${{ inputs.binary_name_stem }} \
- --last_commit ${{ inputs.last_commit }} \
- --the_path ${{ inputs.the_path }} .
- ls -lh .
-
- - run: echo ${{ steps.try_reuse.outputs.result }}
-
- - name: upload release tar.gz
- if: steps.try_reuse.outputs.result == 'hit'
- uses: actions/upload-release-asset@v1
- env:
- GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- with:
- upload_url: ${{ inputs.upload_url }}
- asset_path: ${{ inputs.binary_name_stem }}.tar.gz
- asset_name: ${{ inputs.binary_name_stem }}.tar.gz
- asset_content_type: application/x-gzip
-
- - name: upload release zip
- if: steps.try_reuse.outputs.result == 'hit'
- uses: actions/upload-release-asset@v1
- env:
- GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- with:
- upload_url: ${{ inputs.upload_url }}
- asset_path: ${{ inputs.binary_name_stem }}.zip
- asset_name: ${{ inputs.binary_name_stem }}.zip
- asset_content_type: application/zip
diff --git a/fluent-bit/lib/wasm-micro-runtime-WAMR-1.2.2/.github/workflows/spec_test_on_nuttx.yml b/fluent-bit/lib/wasm-micro-runtime-WAMR-1.2.2/.github/workflows/spec_test_on_nuttx.yml
deleted file mode 100644
index 7b8403777..000000000
--- a/fluent-bit/lib/wasm-micro-runtime-WAMR-1.2.2/.github/workflows/spec_test_on_nuttx.yml
+++ /dev/null
@@ -1,145 +0,0 @@
-# Copyright (C) 2019 Intel Corporation. All rights reserved.
-# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
-
-name: spec test on nuttx
-
-on:
- schedule:
- - cron: '0 0 * * *'
-
- workflow_dispatch:
-
-env:
- LLVM_CACHE_SUFFIX: "build-llvm_libraries_ex"
- WASI_SDK_PATH: "/opt/wasi-sdk"
-
-jobs:
- build_llvm_libraries:
- uses: ./.github/workflows/build_llvm_libraries.yml
- with:
- os: "ubuntu-22.04"
- arch: "ARM RISCV AArch64"
-
- spec_test_on_qemu:
- runs-on: ${{ matrix.os }}
- needs: [build_llvm_libraries]
- strategy:
- matrix:
- os: [ubuntu-22.04]
- nuttx_board_config: [
- # cortex-a9
- "boards/arm/imx6/sabre-6quad/configs/nsh",
- # riscv32imac
- "boards/risc-v/qemu-rv/rv-virt/configs/nsh",
- # riscv64imac
- # "boards/risc-v/qemu-rv/rv-virt/configs/nsh64",
- ]
- wamr_test_option: [
- # "-t fast-interp",
- "-t aot",
- "-t aot -X"
- ]
- llvm_cache_key: [ "${{ needs.build_llvm_libraries.outputs.cache_key }}" ]
- steps:
- - name: Install Utilities
- run: |
- sudo apt install -y kconfig-frontends-nox genromfs
-
- - name: Install ARM Compilers
- if: contains(matrix.nuttx_board_config, 'arm')
- run: sudo apt install -y gcc-arm-none-eabi
-
- - name: Install RISC-V Compilers
- if: contains(matrix.nuttx_board_config, 'risc-v')
- run: |
- curl -L https://static.dev.sifive.com/dev-tools/freedom-tools/v2020.12/riscv64-unknown-elf-toolchain-10.2.0-2020.12.8-x86_64-linux-ubuntu14.tar.gz > riscv.tar.gz
- tar xvf riscv.tar.gz
- echo "$PWD/riscv64-unknown-elf-toolchain-10.2.0-2020.12.8-x86_64-linux-ubuntu14/bin" >> $GITHUB_PATH
-
- - name: Install WASI-SDK
- run: |
- curl -L https://github.com/WebAssembly/wasi-sdk/releases/download/wasi-sdk-19/wasi-sdk-19.0-linux.tar.gz > wasi-sdk.tar.gz
- tar xvf wasi-sdk.tar.gz
- sudo mv wasi-sdk-* /opt/wasi-sdk
-
- - name: Checkout NuttX
- uses: actions/checkout@v3
- with:
- repository: apache/incubator-nuttx
- path: nuttx
-
- - name: Checkout NuttX Apps
- uses: actions/checkout@v3
- with:
- repository: apache/incubator-nuttx-apps
- path: apps
-
- - name: Checkout WAMR
- uses: actions/checkout@v3
- with:
- repository: ${{ github.repository }}
- path: apps/interpreters/wamr/wamr
-
- - name: Get LLVM libraries
- id: retrieve_llvm_libs
- uses: actions/cache@v3
- with:
- path: |
- ./core/deps/llvm/build/bin
- ./core/deps/llvm/build/include
- ./core/deps/llvm/build/lib
- ./core/deps/llvm/build/libexec
- ./core/deps/llvm/build/share
- key: ${{ matrix.llvm_cache_key }}
-
- - name: Quit if cache miss
- if: steps.retrieve_llvm_libs.outputs.cache-hit != 'true'
- run: echo "::error::can not get prebuilt llvm libraries" && exit 1
-
- - name: Copy LLVM
- run: cp -r core/deps/llvm apps/interpreters/wamr/wamr/core/deps/llvm
-
- - name: Enable WAMR for NuttX
- run: |
- find nuttx/boards -name defconfig | xargs sed -i '$a\CONFIG_INTERPRETERS_WAMR=y\nCONFIG_INTERPRETERS_WAMR_STACKSIZE=32768\nCONFIG_INTERPRETERS_WAMR_AOT=y\nCONFIG_INTERPRETERS_WAMR_FAST=y\nCONFIG_INTERPRETERS_WAMR_LOG=y\nCONFIG_INTERPRETERS_WAMR_LIBC_BUILTIN=y\nCONFIG_INTERPRETERS_WAMR_REF_TYPES=y\nCONFIG_INTERPRETERS_WAMR_ENABLE_SPEC_TEST=y\nCONFIG_INTERPRETERS_WAMR_SHARED_MEMORY=y\nCONFIG_INTERPRETERS_WAMR_BULK_MEMORY=y\n'
- find nuttx/boards -name defconfig | xargs sed -i '$a\CONFIG_EOL_IS_LF=y\nCONFIG_ARM_SEMIHOSTING_HOSTFS=y\nCONFIG_ARM_SEMIHOSTING_HOSTFS_CACHE_COHERENCE=y\nCONFIG_RISCV_SEMIHOSTING_HOSTFS=y\nCONFIG_FS_HOSTFS=y\nCONFIG_LIBC_FLOATINGPOINT=y\n'
-
- - name: Build wamrc
- working-directory: apps/interpreters/wamr/wamr/wamr-compiler
- run: |
- cmake -Bbuild .
- cmake --build build
-
- - name: Build
- run: |
- cd nuttx
- tools/configure.sh ${{ matrix.nuttx_board_config }}
- make -j$(nproc)
- echo "firmware=$PWD/nuttx" >> $GITHUB_ENV
-
- - name: Test on ARM
- if: endsWith(matrix.nuttx_board_config, 'sabre-6quad/configs/nsh')
- run: |
- curl -L https://github.com/xpack-dev-tools/qemu-arm-xpack/releases/download/v7.1.0-1/xpack-qemu-arm-7.1.0-1-linux-x64.tar.gz > xpack-qemu-arm.tar.gz
- tar xvf xpack-qemu-arm.tar.gz
- export PATH=$PATH:$PWD/xpack-qemu-arm-7.1.0-1/bin
- cd apps/interpreters/wamr/wamr/tests/wamr-test-suites
- ./test_wamr.sh -s spec ${{ matrix.wamr_test_option }} -m thumbv7_vfp -b -Q -P -F ${{ env.firmware }}
-
- - name: Test on RISCV32
- if: endsWith(matrix.nuttx_board_config, 'rv-virt/configs/nsh')
- run: |
- curl -L https://github.com/xpack-dev-tools/qemu-riscv-xpack/releases/download/v7.1.0-1/xpack-qemu-riscv-7.1.0-1-linux-x64.tar.gz > xpack-qemu-riscv.tar.gz
- tar xvf xpack-qemu-riscv.tar.gz
- export PATH=$PATH:$PWD/xpack-qemu-riscv-7.1.0-1/bin
- cd apps/interpreters/wamr/wamr/tests/wamr-test-suites
- ./test_wamr.sh -s spec ${{ matrix.wamr_test_option }} -m RISCV32 -b -Q -P -F ${{ env.firmware }}
-
- - name: Test on RISCV64
- if: endsWith(matrix.nuttx_board_config, 'rv-virt/configs/nsh64')
- run: |
- curl -L https://github.com/xpack-dev-tools/qemu-riscv-xpack/releases/download/v7.1.0-1/xpack-qemu-riscv-7.1.0-1-linux-x64.tar.gz > xpack-qemu-riscv.tar.gz
- tar xvf xpack-qemu-riscv.tar.gz
- export PATH=$PATH:$PWD/xpack-qemu-riscv-7.1.0-1/bin
- cd apps/interpreters/wamr/wamr/tests/wamr-test-suites
- ./test_wamr.sh -s spec ${{ matrix.wamr_test_option }} -m riscv64 -b -Q -P -F ${{ env.firmware }}