Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

CI: qemu test #273

Draft
wants to merge 5 commits into
base: master
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
159 changes: 82 additions & 77 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -214,36 +214,36 @@ jobs:
TOYWASM_ENABLE_WASI_THREADS: OFF
TOYWASM_ENABLE_WASM_EXCEPTION_HANDLING: OFF
TOYWASM_ENABLE_WASM_CUSTOM_PAGE_SIZES: OFF
#- name: ubuntu-20.04-armhf
# os: ubuntu-20.04
# compiler: clang
# arch: armhf
# BUILD_TYPE: Release
# TOYWASM_USE_SEPARATE_EXECUTE: ON
# TOYWASM_USE_TAILCALL: ON
# TOYWASM_ENABLE_TRACING: OFF
# TOYWASM_USE_SMALL_CELLS: ON
# TOYWASM_USE_SEPARATE_LOCALS: ON
# MISC_FEATURES: OFF
# TOYWASM_ENABLE_WASM_THREADS: OFF
# TOYWASM_ENABLE_WASI_THREADS: OFF
# TOYWASM_ENABLE_WASM_EXCEPTION_HANDLING: OFF
# TOYWASM_ENABLE_WASM_CUSTOM_PAGE_SIZES: OFF
#- name: ubuntu-20.04-s390x
# os: ubuntu-20.04
# compiler: clang
# arch: s390x
# BUILD_TYPE: Release
# TOYWASM_USE_SEPARATE_EXECUTE: ON
# TOYWASM_USE_TAILCALL: ON
# TOYWASM_ENABLE_TRACING: OFF
# TOYWASM_USE_SMALL_CELLS: ON
# TOYWASM_USE_SEPARATE_LOCALS: ON
# MISC_FEATURES: OFF
# TOYWASM_ENABLE_WASM_THREADS: OFF
# TOYWASM_ENABLE_WASI_THREADS: OFF
# TOYWASM_ENABLE_WASM_EXCEPTION_HANDLING: OFF
# TOYWASM_ENABLE_WASM_CUSTOM_PAGE_SIZES: OFF
- name: ubuntu-20.04-armhf
os: ubuntu-20.04
compiler: clang
arch: armhf
BUILD_TYPE: Release
TOYWASM_USE_SEPARATE_EXECUTE: ON
TOYWASM_USE_TAILCALL: ON
TOYWASM_ENABLE_TRACING: OFF
TOYWASM_USE_SMALL_CELLS: ON
TOYWASM_USE_SEPARATE_LOCALS: ON
MISC_FEATURES: OFF
TOYWASM_ENABLE_WASM_THREADS: OFF
TOYWASM_ENABLE_WASI_THREADS: OFF
TOYWASM_ENABLE_WASM_EXCEPTION_HANDLING: OFF
TOYWASM_ENABLE_WASM_CUSTOM_PAGE_SIZES: OFF
- name: ubuntu-20.04-s390x
os: ubuntu-20.04
compiler: clang
arch: s390x
BUILD_TYPE: Release
TOYWASM_USE_SEPARATE_EXECUTE: ON
TOYWASM_USE_TAILCALL: ON
TOYWASM_ENABLE_TRACING: OFF
TOYWASM_USE_SMALL_CELLS: ON
TOYWASM_USE_SEPARATE_LOCALS: ON
MISC_FEATURES: OFF
TOYWASM_ENABLE_WASM_THREADS: OFF
TOYWASM_ENABLE_WASI_THREADS: OFF
TOYWASM_ENABLE_WASM_EXCEPTION_HANDLING: OFF
TOYWASM_ENABLE_WASM_CUSTOM_PAGE_SIZES: OFF
- name: ubuntu-20.04-riscv64
os: ubuntu-20.04
compiler: clang
Expand Down Expand Up @@ -291,37 +291,37 @@ jobs:
TOYWASM_ENABLE_WASI_THREADS: ON
TOYWASM_ENABLE_WASI_LITTLEFS: ON
TOYWASM_ENABLE_WASM_EXCEPTION_HANDLING: ON
#- name: full-ubuntu-20.04-armhf
# os: ubuntu-20.04
# compiler: clang
# arch: armhf
# BUILD_TYPE: Release
# TOYWASM_USE_SEPARATE_EXECUTE: ON
# TOYWASM_USE_TAILCALL: ON
# TOYWASM_ENABLE_TRACING: OFF
# TOYWASM_USE_SMALL_CELLS: ON
# TOYWASM_USE_SEPARATE_LOCALS: ON
# MISC_FEATURES: ON
# TOYWASM_ENABLE_WASM_THREADS: ON
# TOYWASM_ENABLE_WASI_THREADS: ON
# TOYWASM_ENABLE_WASI_LITTLEFS: ON
# TOYWASM_ENABLE_WASM_EXCEPTION_HANDLING: ON
#- name: full-ubuntu-20.04-s390x
# os: ubuntu-20.04
# compiler: clang
# arch: s390x
# BUILD_TYPE: Release
# TOYWASM_USE_SEPARATE_EXECUTE: ON
# TOYWASM_USE_TAILCALL: ON
# TOYWASM_ENABLE_TRACING: OFF
# TOYWASM_USE_SMALL_CELLS: ON
# TOYWASM_USE_SEPARATE_LOCALS: ON
# MISC_FEATURES: ON
# TOYWASM_ENABLE_WASM_THREADS: ON
# TOYWASM_ENABLE_WASI_THREADS: ON
# TOYWASM_ENABLE_WASI_LITTLEFS: ON
# TOYWASM_ENABLE_WASM_EXCEPTION_HANDLING: ON
# TOYWASM_ENABLE_WASM_CUSTOM_PAGE_SIZES: ON
- name: full-ubuntu-20.04-armhf
os: ubuntu-20.04
compiler: clang
arch: armhf
BUILD_TYPE: Release
TOYWASM_USE_SEPARATE_EXECUTE: ON
TOYWASM_USE_TAILCALL: ON
TOYWASM_ENABLE_TRACING: OFF
TOYWASM_USE_SMALL_CELLS: ON
TOYWASM_USE_SEPARATE_LOCALS: ON
MISC_FEATURES: ON
TOYWASM_ENABLE_WASM_THREADS: ON
TOYWASM_ENABLE_WASI_THREADS: ON
TOYWASM_ENABLE_WASI_LITTLEFS: ON
TOYWASM_ENABLE_WASM_EXCEPTION_HANDLING: ON
- name: full-ubuntu-20.04-s390x
os: ubuntu-20.04
compiler: clang
arch: s390x
BUILD_TYPE: Release
TOYWASM_USE_SEPARATE_EXECUTE: ON
TOYWASM_USE_TAILCALL: ON
TOYWASM_ENABLE_TRACING: OFF
TOYWASM_USE_SMALL_CELLS: ON
TOYWASM_USE_SEPARATE_LOCALS: ON
MISC_FEATURES: ON
TOYWASM_ENABLE_WASM_THREADS: ON
TOYWASM_ENABLE_WASI_THREADS: ON
TOYWASM_ENABLE_WASI_LITTLEFS: ON
TOYWASM_ENABLE_WASM_EXCEPTION_HANDLING: ON
TOYWASM_ENABLE_WASM_CUSTOM_PAGE_SIZES: ON
- name: full-ubuntu-20.04-riscv64
os: ubuntu-20.04
compiler: clang
Expand Down Expand Up @@ -447,7 +447,12 @@ jobs:

- name: Install QEMU
if: matrix.arch != 'native' && matrix.arch != 'i386'
# install newer qemu from
# https://launchpad.net/%7Ecanonical-server/+archive/ubuntu/server-backports/
# https://github.com/yamt/toywasm/pull/53#issuecomment-1605899935
run: |
sudo apt-get update && sudo apt-get install -y software-properties-common
sudo add-apt-repository -y ppa:canonical-server/server-backports
sudo apt-get update && sudo apt-get install -y qemu-user-static

- name: toywasm --version
Expand Down Expand Up @@ -683,15 +688,15 @@ jobs:
name: ubuntu-20.04-arm64
path: release_assets

#- uses: actions/download-artifact@v3
# with:
# name: ubuntu-20.04-armhf
# path: release_assets
- uses: actions/download-artifact@v3
with:
name: ubuntu-20.04-armhf
path: release_assets

#- uses: actions/download-artifact@v3
# with:
# name: ubuntu-20.04-s390x
# path: release_assets
- uses: actions/download-artifact@v3
with:
name: ubuntu-20.04-s390x
path: release_assets

- uses: actions/download-artifact@v3
with:
Expand All @@ -708,15 +713,15 @@ jobs:
name: full-ubuntu-20.04-arm64
path: release_assets

#- uses: actions/download-artifact@v3
# with:
# name: full-ubuntu-20.04-armhf
# path: release_assets
- uses: actions/download-artifact@v3
with:
name: full-ubuntu-20.04-armhf
path: release_assets

#- uses: actions/download-artifact@v3
# with:
# name: full-ubuntu-20.04-s390x
# path: release_assets
- uses: actions/download-artifact@v3
with:
name: full-ubuntu-20.04-s390x
path: release_assets

- uses: actions/download-artifact@v3
with:
Expand Down
6 changes: 2 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -72,17 +72,15 @@ It includes
|Ubuntu/amd64 |Yes | |
|Ubuntu/i386 |Yes |32-bit, smaller alignment |
|Ubuntu/arm64 |Yes (on qemu) | |
|Ubuntu/armhf |[Disabled] |32-bit |
|Ubuntu/s390x |[Disabled] |Big endian |
|Ubuntu/armhf |Yes (on qemu) |32-bit |
|Ubuntu/s390x |Yes (on qemu) |Big endian |
|Ubuntu/riscv64 |Yes (on qemu) | |
|Windows/X64 |Yes |Core wasm only |
|wasm32-wasi-threads |No |Occasionally tested manually |
|NuttX/esp32 |No |Occasionally tested manually |
|NuttX/sim on macOS/amd64|No |Occasionally tested manually |
|NetBSD/amd64 |No |Occasionally tested manually |

[Disabled]: https://github.com/yamt/toywasm/pull/238#issuecomment-2226868990

## Use as a command

See toywasm command help message.
Expand Down
Loading