Skip to content

[AOT] Validate AOT section header fields #3

[AOT] Validate AOT section header fields

[AOT] Validate AOT section header fields #3

name: test-python-install-script
concurrency:
group: ${{ github.workflow }}-${{ github.head_ref || github.ref }}
cancel-in-progress: true
on:
push:
branches:
- master
paths:
- '.github/workflows/test-python-install-script.yml'
- 'utils/install.sh'
- 'utils/uninstall.sh'
- 'utils/install.py'
pull_request:
branches:
- master
paths:
- '.github/workflows/test-python-install-script.yml'
- 'utils/install.sh'
- 'utils/uninstall.sh'
- 'utils/install.py'
jobs:
lint:
runs-on: ubuntu-latest
steps:
- name: Setup Python env
uses: actions/setup-python@v4
- name: Install black
run: pip install black
- uses: actions/checkout@v3
with:
fetch-depth: 0
- name: Check formatting for installer
run: |
black --check --verbose --diff ./utils/install.py
linux:
strategy:
fail-fast: false
matrix:
include:
- name: CentOS 8 Stream
host_runner: ubuntu-latest
package_manager: yum
docker_image: quay.io/centos/centos:stream8
python_package: python3 python2
python2_ex: python2
python3_ex: python3
extra_setup_command: yum install -y diffutils
- name: CentOS 7
host_runner: ubuntu-latest
package_manager: yum
docker_image: centos:7.9.2009
python_package: python3 python2
python2_ex: python2
python3_ex: python3
extra_setup_command: echo "No extra command"
- name: Ubuntu 20.04
host_runner: ubuntu-latest
package_manager: apt
docker_image: ubuntu:20.04
python_package: python2 python3
python2_ex: python2
python3_ex: python3
extra_setup_command: apt update && apt install -y lsb-release
- name: Ubuntu 18.04
host_runner: ubuntu-latest
package_manager: apt
docker_image: ubuntu:18.04
python_package: python3 python2.7
python2_ex: python2.7
python3_ex: python3
extra_setup_command: echo "No extra command"
- name: Ubuntu 16.04
host_runner: ubuntu-latest
package_manager: apt
docker_image: ubuntu:16.04
python_package: python2.7
python2_ex: python2.7
python3_ex: python3.7
extra_setup_command: apt update -y && apt install -y build-essential zlib1g-dev libncurses5-dev libgdbm-dev libnss3-dev libssl-dev libreadline-dev libffi-dev wget && wget https://www.python.org/ftp/python/3.7.4/Python-3.7.4.tgz && tar xzf Python-3.7.4.tgz && cd Python-3.7.4 && ./configure && make -j && make install && cd ..
- name: manylinux2014 aarch64
host_runner: linux-arm64
package_manager: yum
docker_image: wasmedge/wasmedge:manylinux2014_aarch64
python_package: python2 python3
python2_ex: python2
python3_ex: python3
extra_setup_command: echo "No extra command"
name: ${{ matrix.name }}
runs-on: ${{ matrix.host_runner }}
container:
image: ${{ matrix.docker_image }}
steps:
- uses: actions/checkout@v3
with:
fetch-depth: 0
- name: Install git and curl
run: |
${{ matrix.extra_setup_command }}
${{ matrix.package_manager }} update -y
${{ matrix.package_manager }} install -y git curl
- name: Install Python
run: |
${{ matrix.package_manager }} install -y ${{ matrix.python_package }}
- name: Install WasmEdge latest release
run: |
${{ matrix.python2_ex }} utils/install.py -D
${{ matrix.python3_ex }} utils/install.py -D
- name: Uninstall WasmEdge
run: |
bash utils/uninstall.sh -q -V
- name: Install WasmEdge latest release with all extensions
run: |
${{ matrix.python2_ex }} utils/install.py -e all -D
${{ matrix.python3_ex }} utils/install.py -e all -D
- name: Uninstall WasmEdge with all extensions
run: |
bash utils/uninstall.sh -q -V
- name: Install WasmEdge specific release (0.10.0)
if: ${{ matrix.name != 'manylinux2014 aarch64' }}
run: |
${{ matrix.python2_ex }} utils/install.py -v 0.10.0 -D
${{ matrix.python3_ex }} utils/install.py -v 0.10.0 -D
- name: Uninstall WasmEdge
if: ${{ matrix.name != 'manylinux2014 aarch64' }}
run: |
bash utils/uninstall.sh -q -V
- name: Install WasmEdge deprecated release (0.9.0) - Fail purposefully
if: ${{ matrix.name != 'manylinux2014 aarch64' }}
run: |
${{ matrix.python2_ex }} utils/install.py -v 0.9.0 -D 2>&1 | grep -q "Version not supported. Min Version: 0.10.0" && echo "Pass: Version not supported. Min Version: 0.10.0 found" \
|| (echo "Failed: Version not supported. Min Version: 0.10.0 not found" && exit 1)
${{ matrix.python3_ex }} utils/install.py -v 0.9.0 -D 2>&1 | grep -q "Version not supported. Min Version: 0.10.0" && echo "Pass: Version not supported. Min Version: 0.10.0 found" \
|| (echo "Failed: Version not supported. Min Version: 0.10.0 not found" && exit 1)
- name: Install WasmEdge specific release (0.10.0) with all extensions
if: ${{ matrix.name != 'manylinux2014 aarch64' }}
run: |
${{ matrix.python2_ex }} utils/install.py -e all -v 0.10.0 -D
${{ matrix.python3_ex }} utils/install.py -e all -v 0.10.0 -D
- name: Install WasmEdge with all extensions compatible with min version for all platforms
run: |
${{ matrix.python2_ex }} utils/install.py -e all --version=0.10.1-alpha.1 -D
${{ matrix.python3_ex }} utils/install.py -e all --version=0.10.1-alpha.1 -D
- name: Uninstall WasmEdge with all extensions
run: |
bash utils/uninstall.sh -q -V
- name: Install versions multiple times
run: |
${{ matrix.python2_ex }} utils/install.py -e all -D
${{ matrix.python2_ex }} utils/install.py -e all -v 0.10.1-alpha.1 -D
${{ matrix.python2_ex }} utils/install.py -e all -v 0.10.0 -D
${{ matrix.python3_ex }} utils/install.py -e all -D
- name: Uninstall WasmEdge
run: |
bash utils/uninstall.sh -q -V
- name: Uninstall WasmEdge and Source Line removal check
run: |
${{ matrix.python2_ex }} utils/install.py && bash utils/uninstall.sh -q
if echo >> ~/.bashrc && grep -qE ".wasmedge/env" ~/.bashrc; then echo "Failed: Source Lines found" && cat ~/.bashrc && exit 1;else echo "Pass: Source Lines Removed"; fi;
if echo >> ~/.bash_profile && grep -qE ".wasmedge/env" ~/.bash_profile; then echo "Failed: Source Lines found" && cat ~/.bash_profile && exit 1;else echo "Pass: Source Lines Removed"; fi;
if echo >> ~/.profile && grep -qE ".wasmedge/env" ~/.profile; then echo "Failed: Source Lines found" && cat ~/.profile && exit 1;else echo "Pass: Source Lines Removed"; fi;
${{ matrix.python3_ex }} utils/install.py && bash utils/uninstall.sh -q
if echo >> ~/.bashrc && grep -qE ".wasmedge/env" ~/.bashrc; then echo "Failed: Source Lines found" && cat ~/.bashrc && exit 1;else echo "Pass: Source Lines Removed"; fi;
if echo >> ~/.bash_profile && grep -qE ".wasmedge/env" ~/.bash_profile; then echo "Failed: Source Lines found" && cat ~/.bash_profile && exit 1;else echo "Pass: Source Lines Removed"; fi;
if echo >> ~/.profile && grep -qE ".wasmedge/env" ~/.profile; then echo "Failed: Source Lines found" && cat ~/.profile && exit 1;else echo "Pass: Source Lines Removed"; fi;
- name: Plugins Install check
run: |
${{ matrix.python2_ex }} utils/install.py -v 0.10.0-alpha.1
ls ~/.wasmedge/plugin/ | grep .so && echo "Pass: Plugins found" || (echo "Fail: Plugins not found" && exit 1)
${{ matrix.python2_ex }} utils/install.py -v 0.13.0 --plugins wasmedge_tensorflowlite
ls ~/.wasmedge/plugin/ | grep libwasmedgePluginWasmEdgeTensorflowLite.so && echo "Pass: Plugins found" || (echo "Fail: Wasmedge Tensorflowlite Plugin not found" && exit 1)
${{ matrix.python2_ex }} utils/install.py -v 0.13.0 --plugins wasmedge_tensorflow
ls ~/.wasmedge/plugin/ | grep libwasmedgePluginWasmEdgeTensorflow.so && echo "Pass: Plugins found" || (echo "Fail: Wasmedge Tensorflowlite Plugin not found" && exit 1)
${{ matrix.python2_ex }} utils/install.py -v 0.10.0-alpha.1 -p ~/new_wasmedge
ls ~/new_wasmedge/plugin/ | grep .so && echo "Pass: Plugins found" || (echo "Fail: Plugins not found" && exit 1)
${{ matrix.python2_ex }} utils/install.py -v 0.10.0-alpha.1 -p /usr
ls /usr/lib/wasmedge/ | grep libwasmedgePluginWasmEdgeProcess.so && echo "Pass: Plugins found" || (echo "Fail: Plugins not found" && exit 1)
${{ matrix.python3_ex }} utils/install.py -v 0.10.0-alpha.1
ls ~/.wasmedge/plugin/ | grep .so && echo "Pass: Plugins found" || (echo "Fail: Plugins not found" && exit 1)
${{ matrix.python3_ex }} utils/install.py -v 0.13.0 --plugins wasmedge_tensorflowlite
ls ~/.wasmedge/plugin/ | grep libwasmedgePluginWasmEdgeTensorflowLite.so && echo "Pass: Plugins found" || (echo "Fail: Wasmedge Tensorflowlite Plugin not found" && exit 1)
${{ matrix.python3_ex }} utils/install.py -v 0.13.0 --plugins wasmedge_tensorflow
ls ~/.wasmedge/plugin/ | grep libwasmedgePluginWasmEdgeTensorflow.so && echo "Pass: Plugins found" || (echo "Fail: Wasmedge Tensorflowlite Plugin not found" && exit 1)
${{ matrix.python3_ex }} utils/install.py -v 0.10.0-alpha.1 -p ~/new_wasmedge
ls ~/new_wasmedge/plugin/ | grep .so && echo "Pass: Plugins found" || (echo "Fail: Plugins not found" && exit 1)
${{ matrix.python3_ex }} utils/install.py -v 0.10.0-alpha.1 -p /usr
ls /usr/lib/wasmedge/ | grep libwasmedgePluginWasmEdgeProcess.so && echo "Pass: Plugins found" || (echo "Fail: Plugins not found" && exit 1)
- name: Externally Specified plugin install check (single)(Ubuntu)
if: ${{ matrix.name == 'Ubuntu 20.04' }}
run: |
# Single plugin download
${{ matrix.python2_ex }} utils/install.py -v 0.10.1-alpha.1 --plugins wasi_nn-openvino -D
ls ~/.wasmedge/plugin/ | grep libwasmedgePluginWasiNN.so && echo "Pass: Plugins found" || (echo "Fail: Plugins not found" && exit 1)
${{ matrix.python2_ex }} utils/install.py -v 0.10.1-alpha.1 -p ~/new_wasmedge --plugins wasi_nn-openvino -D
ls ~/new_wasmedge/plugin/ | grep libwasmedgePluginWasiNN.so && echo "Pass: Plugins found" || (echo "Fail: Plugins not found" && exit 1)
${{ matrix.python2_ex }} utils/install.py -v 0.10.1-alpha.1 -p /usr --plugins wasi_nn-openvino -D
(ls /usr/lib/wasmedge/; ls /usr/lib/wasmedge/;)2>&1 | grep libwasmedgePluginWasiNN.so && echo "Pass: Plugins found" || (echo "Fail: Plugins not found" && exit 1)
${{ matrix.python3_ex }} utils/install.py -v 0.10.1-alpha.1 --plugins wasi_nn-openvino -D
ls ~/.wasmedge/plugin/ | grep libwasmedgePluginWasiNN.so && echo "Pass: Plugins found" || (echo "Fail: Plugins not found" && exit 1)
${{ matrix.python3_ex }} utils/install.py -v 0.10.1-alpha.1 -p ~/new_wasmedge --plugins wasi_nn-openvino -D
ls ~/new_wasmedge/plugin/ | grep libwasmedgePluginWasiNN.so && echo "Pass: Plugins found" || (echo "Fail: Plugins not found" && exit 1)
${{ matrix.python3_ex }} utils/install.py -v 0.10.1-alpha.1 -p /usr --plugins wasi_nn-openvino -D
(ls /usr/lib/wasmedge/; ls /usr/lib/wasmedge/;)2>&1 | grep libwasmedgePluginWasiNN.so && echo "Pass: Plugins found" || (echo "Fail: Plugins not found" && exit 1)
- name: Externally Specified plugin install check (single)(Ubuntu) - WASI-NN GGML (>= 0.13.4)
if: ${{ matrix.name == 'Ubuntu 20.04' }}
run: |
# Single plugin download
${{ matrix.python2_ex }} utils/install.py -v 0.13.4 --plugins wasi_nn-ggml -D
ls ~/.wasmedge/plugin/ | grep libwasmedgePluginWasiNN.so && echo "Pass: Plugins found" || (echo "Fail: Plugins not found" && exit 1)
${{ matrix.python2_ex }} utils/install.py -v 0.13.4 -p ~/new_wasmedge --plugins wasi_nn-ggml -D
ls ~/new_wasmedge/plugin/ | grep libwasmedgePluginWasiNN.so && echo "Pass: Plugins found" || (echo "Fail: Plugins not found" && exit 1)
${{ matrix.python2_ex }} utils/install.py -v 0.13.4 -p /usr --plugins wasi_nn-ggml -D
(ls /usr/lib/wasmedge/; ls /usr/lib/wasmedge/;)2>&1 | grep libwasmedgePluginWasiNN.so && echo "Pass: Plugins found" || (echo "Fail: Plugins not found" && exit 1)
${{ matrix.python3_ex }} utils/install.py -v 0.13.4 --plugins wasi_nn-ggml -D
ls ~/.wasmedge/plugin/ | grep libwasmedgePluginWasiNN.so && echo "Pass: Plugins found" || (echo "Fail: Plugins not found" && exit 1)
${{ matrix.python3_ex }} utils/install.py -v 0.13.4 -p ~/new_wasmedge --plugins wasi_nn-ggml -D
ls ~/new_wasmedge/plugin/ | grep libwasmedgePluginWasiNN.so && echo "Pass: Plugins found" || (echo "Fail: Plugins not found" && exit 1)
${{ matrix.python3_ex }} utils/install.py -v 0.13.4 -p /usr --plugins wasi_nn-ggml -D
(ls /usr/lib/wasmedge/; ls /usr/lib/wasmedge/;)2>&1 | grep libwasmedgePluginWasiNN.so && echo "Pass: Plugins found" || (echo "Fail: Plugins not found" && exit 1)
- name: Externally Specified plugins install check (wrong name)(Ubuntu)
if: ${{ matrix.name == 'Ubuntu 20.04' }}
run: |
# Unknown plugin
${{ matrix.python2_ex }} utils/install.py --plugins unknown_plugin_name_on_purpose unknown_plugin_name_on_purpose -D
(ls ~/.wasmedge/plugin/ | grep libwasmedgePluginWasiCrypto.so && echo "Fail: Plugins found" && exit 1) || (echo "Pass: Plugins not found")
${{ matrix.python3_ex }} utils/install.py --plugins unknown_plugin_name_on_purpose -D
(ls ~/.wasmedge/plugin/ | grep libwasmedgePluginWasiCrypto.so && echo "Fail: Plugins found" && exit 1) || (echo "Pass: Plugins not found")
- name: Check if distro-specific downloads are selected(Ubuntu)
if: ${{ matrix.name == 'Ubuntu 20.04' }}
run: |
${{ matrix.python2_ex }} utils/install.py -e tensorflow -D 2>&1 | grep -q "DEBUG - Downloading dist package: ubuntu20.04_x86_64.tar.gz" && echo "Pass: Ubuntu Package selected for tensorflow" || (echo "Fail: Ubuntu Package not selected for tensorflow" && exit 1)
${{ matrix.python3_ex }} utils/install.py -e tensorflow -D 2>&1 | grep -q "DEBUG - Downloading dist package: ubuntu20.04_x86_64.tar.gz" && echo "Pass: Ubuntu Package selected for tensorflow" || (echo "Fail: Ubuntu Package not selected for tensorflow" && exit 1)
${{ matrix.python2_ex }} utils/install.py -e image -D -v 0.12.0 2>&1 | grep -q "DEBUG - Downloading dist package: ubuntu20.04_x86_64.tar.gz" && echo "Pass: Ubuntu Package selected for image" || (echo "Fail: Ubuntu Package not selected for image" && exit 1)
${{ matrix.python3_ex }} utils/install.py -e image -D -v 0.12.0 2>&1 | grep -q "DEBUG - Downloading dist package: ubuntu20.04_x86_64.tar.gz" && echo "Pass: Ubuntu Package selected for image" || (echo "Fail: Ubuntu Package not selected for image" && exit 1)
- name: Check if distro-specific downloads are selected(Non-Ubuntu)
if: ${{ matrix.name != 'Ubuntu 20.04' }}
run: |
${{ matrix.python2_ex }} utils/install.py -e tensorflow -D 2>&1 | grep -q "DEBUG - Downloading dist package: ubuntu20.04_x86_64.tar.gz" && (echo "Fail: Ubuntu Package selected for tensorflow" && exit 1) || (echo "Pass: Ubuntu Package not selected for tensorflow")
${{ matrix.python3_ex }} utils/install.py -e tensorflow -D 2>&1 | grep -q "DEBUG - Downloading dist package: ubuntu20.04_x86_64.tar.gz" && (echo "Fail: Ubuntu Package selected for tensorflow" && exit 1) || (echo "Pass: Ubuntu Package not selected for tensorflow")
${{ matrix.python2_ex }} utils/install.py -e image -D -v 0.12.0 2>&1 | grep -q "DEBUG - Downloading dist package: ubuntu20.04_x86_64.tar.gz" && (echo "Fail: Ubuntu Package selected for image" && exit 1) || (echo "Pass: Ubuntu Package not selected for image")
${{ matrix.python3_ex }} utils/install.py -e image -D -v 0.12.0 2>&1 | grep -q "DEBUG - Downloading dist package: ubuntu20.04_x86_64.tar.gz" && (echo "Fail: Ubuntu Package selected for image" && exit 1) || (echo "Pass: Ubuntu Package not selected for image")
- name: Externally Specified plugin install check (single)(Non Ubuntu)
if: ${{ matrix.name != 'manylinux2014 aarch64' }}
run: |
# Single plugin download
${{ matrix.python2_ex }} utils/install.py -v 0.10.1-rc.1 --plugins wasi_crypto -D
ls ~/.wasmedge/plugin/ | grep libwasmedgePluginWasiCrypto.so && echo "Pass: Plugins found" || (echo "Fail: Plugins not found" && exit 1)
${{ matrix.python2_ex }} utils/install.py -v 0.10.1-rc.1 -p ~/new_wasmedge --plugins wasi_crypto -D
ls ~/new_wasmedge/plugin/ | grep libwasmedgePluginWasiCrypto.so && echo "Pass: Plugins found" || (echo "Fail: Plugins not found" && exit 1)
${{ matrix.python2_ex }} utils/install.py -v 0.10.1-rc.1 -p /usr --plugins wasi_crypto -D
(ls /usr/lib/wasmedge/; ls /usr/lib/wasmedge/;)2>&1 | grep libwasmedgePluginWasiCrypto.so && echo "Pass: Plugins found" || (echo "Fail: Plugins not found" && exit 1)
${{ matrix.python3_ex }} utils/install.py -v 0.10.1-rc.1 --plugins wasi_crypto -D
ls ~/.wasmedge/plugin/ | grep libwasmedgePluginWasiCrypto.so && echo "Pass: Plugins found" || (echo "Fail: Plugins not found" && exit 1)
${{ matrix.python3_ex }} utils/install.py -v 0.10.1-rc.1 -p ~/new_wasmedge --plugins wasi_crypto -D
ls ~/new_wasmedge/plugin/ | grep libwasmedgePluginWasiCrypto.so && echo "Pass: Plugins found" || (echo "Fail: Plugins not found" && exit 1)
${{ matrix.python3_ex }} utils/install.py -v 0.10.1-rc.1 -p /usr --plugins wasi_crypto -D
(ls /usr/lib/wasmedge/; ls /usr/lib/wasmedge/;)2>&1 | grep libwasmedgePluginWasiCrypto.so && echo "Pass: Plugins found" || (echo "Fail: Plugins not found" && exit 1)
- name: Install multiple versions and Tensorflow extension/plugins for pre and post 0.13.x
run: |
${{ matrix.python3_ex }} utils/install.py -e tensorflow -D 2>&1 -v 0.12.0
${{ matrix.python3_ex }} utils/install.py -e tensorflow -D 2>&1 -v 0.13.0
${{ matrix.python3_ex }} utils/install.py -e tensorflow -D 2>&1
${{ matrix.python2_ex }} utils/install.py -e tensorflow -D 2>&1 -v 0.12.0
${{ matrix.python2_ex }} utils/install.py -e tensorflow -D 2>&1 -v 0.13.0
${{ matrix.python2_ex }} utils/install.py -e tensorflow -D 2>&1
- name: Install multiple versions and Image extension/plugins for pre and post 0.13.x
run: |
${{ matrix.python3_ex }} utils/install.py -e image -D 2>&1 -v 0.12.0
${{ matrix.python3_ex }} utils/install.py -e image -D 2>&1 -v 0.13.0
${{ matrix.python3_ex }} utils/install.py -e image -D 2>&1
${{ matrix.python2_ex }} utils/install.py -e image -D 2>&1 -v 0.12.0
${{ matrix.python2_ex }} utils/install.py -e image -D 2>&1 -v 0.13.0
${{ matrix.python2_ex }} utils/install.py -e image -D 2>&1
- name: Check for differences in the installation
run: |
PYTHON_EXECUTABLE=${{ matrix.python3_ex }} bash utils/installer_changes.sh "$HOME"/.wasmedge
PYTHON_EXECUTABLE=${{ matrix.python3_ex }} bash utils/installer_changes.sh "$HOME"/new_folder
PYTHON_EXECUTABLE=${{ matrix.python3_ex }} bash utils/installer_changes.sh /usr/local
PYTHON_EXECUTABLE=${{ matrix.python3_ex }} bash utils/installer_changes.sh /usr
PYTHON_EXECUTABLE=${{ matrix.python3_ex }} bash utils/installer_changes.sh "$HOME"/.wasmedge "-e all" "-v 0.12.1"
PYTHON_EXECUTABLE=${{ matrix.python3_ex }} bash utils/installer_changes.sh "$HOME"/new_folder "-e all" "-v 0.12.1"
PYTHON_EXECUTABLE=${{ matrix.python3_ex }} bash utils/installer_changes.sh /usr/local "-e all" "-v 0.12.1"
PYTHON_EXECUTABLE=${{ matrix.python3_ex }} bash utils/installer_changes.sh /usr "-e all" "-v 0.12.1"
- name: Latest Release Check
run: |
_res_git_=$(git ls-remote --refs --tags "https://github.com/WasmEdge/WasmEdge.git" | cut -d '/' -f 3 | awk '{ if ($1 ~ /-/) print; else print $0"_" ; }' | sort --version-sort | sed 's/_$//' | grep -e '^[0-9]\+.[0-9]\+.[0-9]\+$' | tail -1)
_res_curl_=$(curl -w "%{url_effective}\n" -I -L -s -S https://github.com/WasmEdge/WasmEdge/releases/latest -o /dev/null | grep -Eo '[0-9]+.[0-9]+.[0-9]+*')
[ "$_res_git_" = "$_res_curl_" ] && echo "Pass: Fetched version equals release" ||
(echo "Fail: Fetched version does not equal GitHub Ref: Fetched:$_res_git_ CI:$_res_curl_" && exit 1)
macos:
strategy:
fail-fast: false
matrix:
include:
- name: MacOS-latest
host_runner: macos-latest
package_manager: brew
- name: MacOS-arm64
host_runner: mac-arm64
package_manager: brew
name: ${{ matrix.name }}
runs-on: ${{ matrix.host_runner }}
steps:
- uses: actions/checkout@v3
with:
fetch-depth: 0
- name: Install python
run: |
eval $(/opt/homebrew/bin/brew shellenv)
${{ matrix.package_manager }} install python
- name: Install WasmEdge latest release
run: |
python3 utils/install.py -D
- name: Uninstall WasmEdge
run: |
bash utils/uninstall.sh -q -V
- name: Install WasmEdge latest release with all extensions
if: ${{ matrix.name != 'MacOS-arm64' }}
run: |
python3 utils/install.py -e all -D
- name: Uninstall WasmEdge with all extensions
if: ${{ matrix.name != 'MacOS-arm64' }}
run: |
bash utils/uninstall.sh -q -V
- name: Install WasmEdge specific release (0.10.0)
run: |
python3 utils/install.py -v 0.10.0 -D
- name: Uninstall WasmEdge
run: |
bash utils/uninstall.sh -q -V
- name: Install WasmEdge deprecated release (0.9.0) - Fails purposefully
run: |
python3 utils/install.py -v 0.9.0 -D 2>&1 | grep -q "Version not supported. Min Version: 0.10.0" && echo "Pass: Version not supported. Min Version: 0.10.0 found" \
|| (echo "Failed: Version not supported. Min Version: 0.10.0 message not found" && exit 1)
- name: Install WasmEdge specific release (0.10.0) with all extensions
if: ${{ matrix.name != 'MacOS-arm64' }}
run: |
python3 utils/install.py -e all -v 0.10.0 -D
- name: Uninstall WasmEdge with all extensions
if: ${{ matrix.name != 'MacOS-arm64' }}
run: |
bash utils/uninstall.sh -q -V
- name: Plugins Install check MacOS-x86
if: ${{ matrix.name != 'MacOS-arm64' }}
run: |
python3 utils/install.py -v 0.10.0-alpha.1
ls ~/.wasmedge/plugin/ | grep .dylib && echo "Pass: Plugins found" || (echo "Fail: Plugins not found" && exit 1)
python3 utils/install.py -v 0.13.1 --plugins wasmedge_tensorflow
ls ~/.wasmedge/plugin/ | grep libwasmedgePluginWasmEdgeTensorflow.dylib && echo "Pass: Plugins found" || (echo "Fail: Plugins not found" && exit 1)
python3 utils/install.py -v 0.13.1 --plugins wasmedge_tensorflowlite
ls ~/.wasmedge/plugin/ | grep libwasmedgePluginWasmEdgeTensorflowLite.dylib && echo "Pass: Plugins found" || (echo "Fail: Plugins not found" && exit 1)
python3 utils/install.py -v 0.10.0-alpha.1 -p ~/new_wasmedge
ls ~/new_wasmedge/plugin/ | grep .dylib && echo "Pass: Plugins found" || (echo "Fail: Plugins not found" && exit 1)
# MacOS container does not have access for /usr directory
# python3 utils/install.py -v 0.10.0-alpha.1 -p /usr
# ls /usr/lib/wasmedge/ | grep libwasmedgePluginWasmEdgeProcess.dylib && echo "Pass: Plugins found" || (echo "Fail: Plugins not found" && exit 1)
- name: Plugins Install check MacOS-arm64
if: ${{ matrix.name == 'MacOS-arm64' }}
run: |
python3 utils/install.py -v 0.13.1 --plugins wasmedge_tensorflow
ls ~/.wasmedge/plugin/ | grep libwasmedgePluginWasmEdgeTensorflow.dylib && echo "Pass: Plugins found" || (echo "Fail: Plugins not found" && exit 1)
python3 utils/install.py -v 0.13.1 --plugins wasmedge_tensorflowlite
ls ~/.wasmedge/plugin/ | grep libwasmedgePluginWasmEdgeTensorflowLite.dylib && echo "Pass: Plugins found" || (echo "Fail: Plugins not found" && exit 1)
- name: Install multiple versions and Tensorflow extension/plugins for pre and post 0.13.x
if: ${{ matrix.name != 'MacOS-arm64' }}
run: |
python3 utils/install.py -e tensorflow -D 2>&1 -v 0.12.0
python3 utils/install.py --plugins wasmedge_tensorflow -D 2>&1 -v 0.13.1
python3 utils/install.py --plugins wasmedge_tensorflow -D 2>&1
- name: Install multiple versions and Tensorflow extension/plugins for pre and post 0.13.x
if: ${{ matrix.name == 'MacOS-arm64' }}
run: |
python3 utils/install.py --plugins wasmedge_tensorflow -D 2>&1 -v 0.13.1
python3 utils/install.py --plugins wasmedge_tensorflow -D 2>&1
- name: Install multiple versions and Image extension/plugins for pre and post 0.13.x
if: ${{ matrix.name != 'MacOS-arm64' }}
run: |
python3 utils/install.py -e image -D 2>&1 -v 0.12.0
python3 utils/install.py --plugins wasmedge_image -D 2>&1 -v 0.13.1
python3 utils/install.py --plugins wasmedge_image -D 2>&1
- name: Install multiple versions and Image extension/plugins for pre and post 0.13.x
if: ${{ matrix.name == 'MacOS-arm64' }}
run: |
python3 utils/install.py --plugins wasmedge_image -D 2>&1 -v 0.13.1
python3 utils/install.py --plugins wasmedge_image -D 2>&1
- name: Check for differences in the installation
if: ${{ matrix.name == 'MacOS-arm64' }}
run: |
bash utils/installer_changes.sh $HOME/.wasmedge
bash utils/installer_changes.sh $HOME/new_folder
- name: Check for differences in the installation
if: ${{ matrix.name != 'MacOS-arm64' }}
run: |
PYTHON_EXECUTABLE=python3 bash utils/installer_changes.sh "$HOME"/.wasmedge
PYTHON_EXECUTABLE=python3 bash utils/installer_changes.sh "$HOME"/new_folder
PYTHON_EXECUTABLE=python3 bash utils/installer_changes.sh /usr/local
PYTHON_EXECUTABLE=python3 bash utils/installer_changes.sh /usr
PYTHON_EXECUTABLE=python3 bash utils/installer_changes.sh "$HOME"/.wasmedge "-e all" "-v 0.12.1"
PYTHON_EXECUTABLE=python3 bash utils/installer_changes.sh "$HOME"/new_folder "-e all" "-v 0.12.1"
PYTHON_EXECUTABLE=python3 bash utils/installer_changes.sh /usr/local "-e all" "-v 0.12.1"
PYTHON_EXECUTABLE=python3 bash utils/installer_changes.sh /usr "-e all" "-v 0.12.1"
- name: Latest Release Check
run: |
_res_git_=$(git ls-remote --refs --tags "https://github.com/WasmEdge/WasmEdge.git" | cut -d '/' -f 3 | awk '{ if ($1 ~ /-/) print; else print $0"_" ; }' | sort --version-sort | sed 's/_$//' | grep -e '^[0-9]\+.[0-9]\+.[0-9]\+$' | tail -1)
_res_curl_=$(curl -w "%{url_effective}\n" -I -L -s -S https://github.com/WasmEdge/WasmEdge/releases/latest -o /dev/null | grep -Eo '[0-9]+.[0-9]+.[0-9]+')
[ "$_res_git_" = "$_res_curl_" ] && echo "Pass: Fetched version equals release" ||
(echo "Fail: Fetched version does not equal GitHub Ref: Fetched:$_res_git_ CI:$_res_curl_" && exit 1)