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

Support multiple heterogeneous backends at the same time #5243

Merged
Show file tree
Hide file tree
Changes from 72 commits
Commits
Show all changes
88 commits
Select commit Hold shift + click to select a range
0ec8a5a
feat(api): Initial work towards multi-backend api
xdoardo Nov 12, 2024
c73e0b4
feat(api): Continue work for multi-backend api
xdoardo Nov 12, 2024
bd41579
feat(api): Initial work for `sys` on multi-backend api
xdoardo Nov 12, 2024
94b9a8b
feat(api): Allow `sys`, `wamr` and `v8` in a single `wasmer` build
xdoardo Nov 19, 2024
0fb28b6
fix: Fix imports in examples
xdoardo Nov 20, 2024
1cdcc11
fix(v8+wamr): Remove bound on `NativeWasmTypeInto`
xdoardo Nov 20, 2024
c0c0bc1
fix(benchmarks): Minor changes
xdoardo Nov 20, 2024
671bfd5
fix(api): Fix disastrous rename
xdoardo Nov 20, 2024
9d5fc3c
fix(middlewares): Fix imports
xdoardo Nov 20, 2024
4836270
feat(cli): Support multiple heterogeneous backends in the same build
xdoardo Nov 20, 2024
491e128
fix(tests/compilers): Reorganize imports
xdoardo Nov 20, 2024
44056c6
fix(examples): Reorganize imports
xdoardo Nov 20, 2024
bf2f090
feat(api): Support the `js` engine
xdoardo Nov 20, 2024
e5931ae
fix(cli): `not(any` -> `not(all`
xdoardo Nov 20, 2024
ab8e1d9
Make linter happy
xdoardo Nov 20, 2024
c3680ff
Merge branch 'main' into 5198-cli-support-wasm_c_api-backends-togethe…
xdoardo Nov 20, 2024
ed81a83
feat(api): Add support for `jsc` engine
xdoardo Nov 21, 2024
78459d1
fix(api): Fix `js` errors
xdoardo Nov 21, 2024
e80bdd8
chore: Make linter happy
xdoardo Nov 21, 2024
379ae4c
fix: Fix typo
xdoardo Nov 21, 2024
5d5f4cb
fix(ci): Try installing clang for `llvm-object`
xdoardo Nov 21, 2024
32c51b9
feat(api): Add `id()` function to `wasmer::Engine`.
xdoardo Nov 22, 2024
127a024
fix(api/js): Rename `engine.0` to `engine.rt`
xdoardo Nov 22, 2024
026da59
fix(api/jsc): Remove conflictful implementation
xdoardo Nov 22, 2024
1d2229c
fix(api/v8): Don't delete V8's engine when dropping `CApiEngine`
xdoardo Nov 22, 2024
a12b35f
fix(api/build): Change order of checks
xdoardo Nov 22, 2024
7ec657d
fix(cli): Typo
xdoardo Nov 22, 2024
f1a2534
fix(ci): Try installing llvm to get llvm-objcopy
xdoardo Nov 22, 2024
5ac2349
fix(ci): Add brew's llvm bins to path
xdoardo Nov 22, 2024
010cc07
fix(ci): Add brew's llvm bins to path
xdoardo Nov 22, 2024
0a1f5bd
fix(ci): test contents of llvm's bin dir
xdoardo Nov 22, 2024
fc898e6
enable musl builds
maminrayej Nov 22, 2024
26aa452
fix workflow deps
maminrayej Nov 22, 2024
0a0324e
fix(api/build): make `which` an optional dependency, remove dbg!s
xdoardo Nov 22, 2024
3c54101
fix(api): Use opaque type for engine identifiers
xdoardo Nov 22, 2024
031a382
ci: Disable all jobs but wamr on aarch64
xdoardo Nov 22, 2024
37a77c5
fix broken musl build
maminrayej Nov 22, 2024
51dc02b
fix(ci): Try to add to path directly in the step
xdoardo Nov 22, 2024
28233af
enable other builds
maminrayej Nov 22, 2024
74f369d
enable other builds
maminrayej Nov 22, 2024
0c8c99b
fix(ci): Fix typo
xdoardo Nov 22, 2024
f76ea71
revert back workflows
maminrayej Nov 22, 2024
0246f50
fix(api/tests): Remove unused engine import
xdoardo Nov 22, 2024
0776729
fix(api/tests): Fix ignores and cfgs
xdoardo Nov 22, 2024
126c121
fix(api/trap): Display as `Display`, not as `Debug`
xdoardo Nov 22, 2024
af86ef7
fix(api/tests): Add missing cfg
xdoardo Nov 22, 2024
1653ce2
fix musl builds (#5268)
maminrayej Nov 22, 2024
a0a625b
Update CHANGELOG
maminrayej Nov 22, 2024
0bca353
Release 5.0.2
maminrayej Nov 22, 2024
0873adc
fix(api/v8): Fix missing operations on memory (grow, grow at least)
xdoardo Nov 22, 2024
ec8c2ed
fix(api): Missing exports, minor changes
xdoardo Nov 22, 2024
193d3f2
fix: Minor changes
xdoardo Nov 22, 2024
6158bb9
fix(api): Fix typo in `result_arity`
xdoardo Nov 22, 2024
a6693db
update 0.x package versions
maminrayej Nov 22, 2024
d6553a6
update changelog
maminrayej Nov 22, 2024
4342398
fix(api/tests): Feature gate import
xdoardo Nov 22, 2024
1782c88
ci: Disable macOS, enable linux
xdoardo Nov 22, 2024
12621c3
ci: Add `binutils` to Ubuntu
xdoardo Nov 22, 2024
e0d60ea
fix(api/build): Don't prepend `_` when renaming ELF symbols
xdoardo Nov 22, 2024
4c1dd13
ci: reenable all jobs
xdoardo Nov 22, 2024
88518b6
fix(middlewares): Fix import
xdoardo Nov 22, 2024
f910351
Merge pull request #5269 from wasmerio/release-5.0.2
maminrayej Nov 22, 2024
3dc6cf0
fix(api): Fix docs
xdoardo Nov 22, 2024
e1ed036
Merge branch 'main' into 5198-cli-support-wasm_c_api-backends-togethe…
xdoardo Nov 22, 2024
a82a22e
fix(middlewares): Fix import
xdoardo Nov 22, 2024
dfbcdce
feat(api): Add `wasmi` rt
xdoardo Nov 25, 2024
7b26595
fix(api/build): Add `cfg` to `build_wasmi`
xdoardo Nov 25, 2024
49bf8d2
fix(ci): bump macos-12 to 13
xdoardo Nov 25, 2024
8e5ce03
fix(api): Move engine's atomic id functions into the `Engine` type impl
xdoardo Nov 25, 2024
f381470
fix(api/build/v8): Don't download header from gh at build time
xdoardo Nov 25, 2024
1005cfc
fix(api): Make linter happy, fix typo
xdoardo Nov 25, 2024
430301e
fix(api/jsc): `Self` -> `crate::Engine`
xdoardo Nov 25, 2024
f5c4172
update running wasmer-integration-tests in CI
barankaraaslan Nov 19, 2024
c7c6757
fix(cli): Fix typo in `cfg`
xdoardo Nov 26, 2024
6042f0a
fix(workspace): Add `Unicode-3.0` license
xdoardo Nov 26, 2024
5823eb7
chore: Make linter happy
xdoardo Nov 26, 2024
72f4ab0
fix(api): Add missing return
xdoardo Nov 26, 2024
c111880
feat(api): Add features for `-default` engines
xdoardo Nov 26, 2024
81f4195
feat(api): Split `HostFunction` implementations in each belonging `rt…
xdoardo Nov 26, 2024
234dbea
chore: Make linter happy
xdoardo Nov 26, 2024
af80b58
feat(config): Add (Named)PackageIdent::matches_id helpers
theduke Nov 27, 2024
a6398b3
deps: Update hyper and rustls deps due to advisory
theduke Nov 27, 2024
1524c68
Merge branch 'main' into 5198-cli-support-wasm_c_api-backends-togethe…
xdoardo Nov 27, 2024
8785594
fix Cargo.lock
xdoardo Nov 27, 2024
ff0c2be
Merge remote-tracking branch 'origin/release-5.1.0' into 5198-cli-sup…
xdoardo Dec 3, 2024
87dadce
feat(api): Bump `wasmi_c_impl` to latest release
xdoardo Dec 3, 2024
64f996f
ci: `wasm32-wasi` -> `wasm32-wasip1`
xdoardo Dec 3, 2024
b7958a6
fix: `wasm32-wasi` -> `wasm32-wasip1`
xdoardo Dec 3, 2024
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
8 changes: 4 additions & 4 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -258,7 +258,7 @@ jobs:
- uses: Swatinem/rust-cache@v2
if: matrix.use_sccache != true
- name: Install LLVM (macOS Apple Silicon)
if: matrix.os == 'macos-12' && !matrix.llvm_url
if: matrix.os == 'macos-13' && !matrix.llvm_url
run: |
brew install llvm
- name: Install LLVM
Expand Down Expand Up @@ -406,7 +406,7 @@ jobs:
if: matrix.use_llvm != true && !endsWith(matrix.build, 'v8') && !endsWith(matrix.build, 'wamr') && !endsWith(matrix.build, 'wasmi')
shell: bash
run: |
make build-wasmer
ENABLE_LLVM=0 make build-wasmer
#- name: Build Wasmer binary on Wasm32-WASI without LLVM
# if: matrix.build_wasm
# shell: bash
Expand Down Expand Up @@ -517,7 +517,7 @@ jobs:

darwin_aarch64_jsc:
name: macOS aarch64 (JSC)
runs-on: macos-12
runs-on: macos-13
steps:
- uses: actions/checkout@v3
- uses: dtolnay/rust-toolchain@stable
Expand Down Expand Up @@ -550,7 +550,7 @@ jobs:

darwin_x86_64_jsc:
name: macOS x86_64 (JSC)
runs-on: macos-12
runs-on: macos-13
steps:
- uses: actions/checkout@v3
- uses: dtolnay/rust-toolchain@stable
Expand Down
37 changes: 20 additions & 17 deletions .github/workflows/test.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -263,10 +263,10 @@ jobs:
build: macos-arm,
os: macos-14,
},
{
build: windows-x64,
os: windows-2022,
}
#{
# build: windows-x64,
# os: windows-2022,
#}
]
container: ${{ matrix.metadata.container }}
steps:
Expand All @@ -283,17 +283,19 @@ jobs:
- name: Install Nextest
uses: taiki-e/install-action@nextest

- name: Install `ninja`, clang` and `mold` on Ubuntu
- name: Install `ninja`, clang`, `binutils` and `mold` on Ubuntu
if: startsWith(matrix.metadata.build, 'linux-')
shell: bash
run: |
sudo apt-get update -y && sudo apt-get install ninja-build clang mold -y
sudo apt-get update -y && sudo apt-get install ninja-build clang mold binutils -y

- name: Install `ninja` on macOS
- name: Install `ninja` and (brew's) `llvm` on macOS
if: startsWith(matrix.metadata.build, 'macos-')
shell: bash
run: |
brew install ninja
brew install ninja llvm@18
echo "/opt/homebrew/opt/llvm@18/bin" >> $GITHUB_PATH
ls -laR /opt/homebrew/opt/llvm@18/bin/

- name: Install `ninja` on Windows
if: startsWith(matrix.metadata.build, 'windows-')
Expand All @@ -308,7 +310,7 @@ jobs:

- name: Test WAMR API
if: ${{ matrix.build-what.key == 'wamr' }}
run: ${{ matrix.build-what.build-cmd }}
run: echo $GITHUB_PATH && ${{ matrix.build-what.build-cmd }}

- name: Test wasmi API
if: ${{ matrix.build-what.key == 'wasmi' }}
Expand Down Expand Up @@ -500,7 +502,7 @@ jobs:
},
{
build: macos-x64,
os: macos-12,
os: macos-13,
target: x86_64-apple-darwin,
exe: '',
llvm_url: 'https://github.com/wasmerio/llvm-custom-builds/releases/download/18.x/llvm-darwin-amd64.tar.xz'
Expand Down Expand Up @@ -560,7 +562,7 @@ jobs:
# using gnu-tar is a workaround for https://github.com/actions/cache/issues/403
brew install gnu-tar
echo PATH="/usr/local/opt/gnu-tar/libexec/gnubin:$PATH" >> $GITHUB_ENV
if: matrix.metadata.os == 'macos-12'
if: matrix.metadata.os == 'macos-13'
- name: Install Rust
uses: dtolnay/rust-toolchain@stable
with:
Expand Down Expand Up @@ -608,7 +610,7 @@ jobs:
mkdir -p package/winsdk
cp -r /tmp/winsdk/* package/winsdk
- name: Install LLVM (macOS Apple Silicon)
if: matrix.metadata.os == 'macos-12' && !matrix.metadata.llvm_url
if: matrix.metadata.os == 'macos-13' && !matrix.metadata.llvm_url
run: |
brew install llvm
- name: Install LLVM
Expand Down Expand Up @@ -754,7 +756,7 @@ jobs:
},
{
build: macos-x64,
os: macos-12,
os: macos-13,
target: x86_64-apple-darwin,
exe: '',
llvm_url: 'https://github.com/wasmerio/llvm-custom-builds/releases/download/18.x/llvm-darwin-amd64.tar.xz'
Expand Down Expand Up @@ -815,7 +817,7 @@ jobs:
# using gnu-tar is a workaround for https://github.com/actions/cache/issues/403
brew install gnu-tar
echo PATH="/usr/local/opt/gnu-tar/libexec/gnubin:$PATH" >> $GITHUB_ENV
if: matrix.metadata.os == 'macos-12'
if: matrix.metadata.os == 'macos-13'
- name: Install Rust
uses: dtolnay/rust-toolchain@stable
with:
Expand All @@ -824,9 +826,10 @@ jobs:
- name: Install Nextest
uses: taiki-e/install-action@nextest
- name: Install LLVM (macOS Apple Silicon)
if: matrix.metadata.os == 'macos-12' && !matrix.metadata.llvm_url
if: matrix.metadata.os == 'macos-13' && !matrix.metadata.llvm_url
run: |
brew install llvm
echo "/opt/homebrew/opt/llvm/bin" >> GITHUB_PATH
- name: Install LLVM
shell: bash
if: matrix.metadata.llvm_url
Expand Down Expand Up @@ -891,11 +894,11 @@ jobs:
target: x86_64-unknown-linux-gnu
llvm_url: 'https://github.com/wasmerio/llvm-custom-builds/releases/download/18.x/llvm-linux-amd64.tar.xz'
- build: macos-x64
os: macos-12
os: macos-13
target: x86_64-apple-darwin
# we only build the integration-test CLI, we don't run tests
- build: macos-arm
os: macos-12
os: macos-14
target: aarch64-apple-darwin,
- build: linux-musl
target: x86_64-unknown-linux-musl
Expand Down
32 changes: 32 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,38 @@ Looking for changes that affect our C API? See the [C API Changelog](lib/c-api/C

## **Unreleased**

## 5.0.2 - 22/11/2024

This release mostly consists of bug fixes and clean ups.

## Added

- [#5259](https://github.com/wasmerio/wasmer/pull/5259) Fix alignment and padding of the WASIX snapshot type to align with wasix-libc
- [#5236](https://github.com/wasmerio/wasmer/pull/5236) feat(benches): Add compilation benches, use remote artifacts
- [#5230](https://github.com/wasmerio/wasmer/pull/5230) fix(llvm): Fix `ADD_ABS_LO12_NC` relocation
- [#5226](https://github.com/wasmerio/wasmer/pull/5226) Add make target for building `wasmer-api` with `js` feature as `cdylib`

## Changed

- [#4997](https://github.com/wasmerio/wasmer/pull/4997) Rework WasiFs to use a "holey" FdList instead of hashmap + seed + fre…
- [#5257](https://github.com/wasmerio/wasmer/pull/5257) ci: update `CONTRIBUTING.md` reference
- [#5250](https://github.com/wasmerio/wasmer/pull/5250) deps: Remove usage of unmaintained derivative crate
- [#5256](https://github.com/wasmerio/wasmer/pull/5256) deps: Upgrade wcgi crates to 0.3.0
- [#5253](https://github.com/wasmerio/wasmer/pull/5253) chore(wasix): Downgrade debug logs to trace
- [#5245](https://github.com/wasmerio/wasmer/pull/5245) Relax `wat` version requirement
- [#5244](https://github.com/wasmerio/wasmer/pull/5244) Alias `.` to cwd in wasi env
- [#5225](https://github.com/wasmerio/wasmer/pull/5225) Move compilation types inside of wasmer compiler

## Fixed

- [#5268](https://github.com/wasmerio/wasmer/pull/5268) Fix musl builds
- [#5231](https://github.com/wasmerio/wasmer/pull/5231) Fix LLVM detection
- [#5235](https://github.com/wasmerio/wasmer/pull/5235) c-api/README.md: Fix double include in usage section
- [#5238](https://github.com/wasmerio/wasmer/pull/5238) Revert "Fix handling of the root dir in `path_create_directory` and `get_inode_at_path_inner`"
- [#5237](https://github.com/wasmerio/wasmer/pull/5237) Fix handling of the root dir in `path_create_directory` and `get_inode_at_path_inner`



## 5.0.1 - 06/11/2024

This release adds LLVM support to MacOS ARM64 binaries and contains minor fixes and improvements.
Expand Down
Loading
Loading