[AOT] Validate AOT section header fields #3
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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) |