Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
367 commits
Select commit Hold shift + click to select a range
8e3048a
Singlepass: to_dwarf - use directly gimpli::Register type
marxin Sep 16, 2025
3235670
remove _from_dwarf_regnum
marxin Sep 16, 2025
af8e68c
fix clippy warnings
marxin Sep 16, 2025
9967dc2
fix and simplify create_unwind_info_from_insts
marxin Sep 16, 2025
7db3b1f
make some function 'unwind' feature related only
marxin Sep 17, 2025
d58cb47
Singlepass: refactor condition jumps to single fn (jmp_on_condition)
marxin Sep 17, 2025
f12aa99
Make UnwindRegister always present
marxin Sep 17, 2025
298e152
Merge branch 'to_dwarf-use-gimpli-Register' into singlepass-add-rv64-…
marxin Sep 18, 2025
6ffc06d
support unwinding for RISC-V target
marxin Sep 18, 2025
294c058
bump dynasm to 4.0.1
marxin Sep 18, 2025
8d4e688
fix import call trampolines - wrong argument passing
marxin Sep 18, 2025
364066f
implement pop_stack_locals
marxin Sep 18, 2025
a8b25d2
fix implementation of rotation operations
marxin Sep 20, 2025
056caad
allow non-register operand for jmp_on_false
marxin Sep 20, 2025
1952e10
WIP: rework VMExceptionObj, VMExceptionRef, and wasmer::Exception
Arshia001 Sep 20, 2025
68ae028
fix wrong zeroing of locals living on the stack
marxin Sep 20, 2025
26882ea
Add Exception::tag and Exception::payload, print payload of uncaught …
Arshia001 Sep 20, 2025
ea69ddb
fix rotation and shifting operations with big immediates
marxin Sep 20, 2025
fb255b8
support move from SIMD register to memory
marxin Sep 20, 2025
9603019
Add support for throwing WASM exceptions from native code
Arshia001 Sep 20, 2025
abedf7b
Multiple fixes
wakabat Sep 21, 2025
99796de
simplify emission of the relaxed memory operations
marxin Sep 21, 2025
df17ede
simplify LD/SD immediate expectations
marxin Sep 21, 2025
3226588
extend test to add also the last local
marxin Sep 21, 2025
e8aea6d
Merge branch 'main' into singlepass-add-rv64-target
marxin Sep 21, 2025
f4b5da1
Fix compilation
Arshia001 Sep 22, 2025
df9a920
fix use of wrong register when memory involved in cmpop
marxin Sep 28, 2025
aa1036b
fix locals on stack indexing issue
marxin Sep 28, 2025
7f21b0b
fix store to the local that lives in memory
marxin Sep 29, 2025
ec96631
implement Operator::Unreachable via direct call to wasmer_vm_raise_trap
marxin Oct 3, 2025
ff6bb12
Merge pull request #5750 from marxin/singlepass-jmp_on_condition
syrusakbary Oct 8, 2025
6893bb7
Singlepass: to_dwarf - use directly `gimli::Register` type (#5749)
marxin Oct 8, 2025
db93856
Merge branch 'main' into feat/native-eh
Arshia001 Oct 8, 2025
52eec60
Fix lint
Arshia001 Oct 8, 2025
f3e244c
Fix compilation without sys feature
Arshia001 Oct 8, 2025
9c8c31b
More lints
Arshia001 Oct 8, 2025
a66d1f7
Update test wasmu artifacts
Arshia001 Oct 8, 2025
8b5ebf9
Fix warnings on Windows, update test wasmu artifacts
Arshia001 Oct 8, 2025
b0d5a37
More lints
Arshia001 Oct 8, 2025
681ee42
Fix mac build
Arshia001 Oct 8, 2025
dc238f8
Make commands work when called from /usr/bin
zebreus Oct 8, 2025
6830bf9
Fix wasm32 target compile warnings (#5793)
artemyarulin Oct 9, 2025
1ad34bd
Merge pull request #5792 from wasmerio/fix-commands
zebreus Oct 9, 2025
433f7ce
Upgrade to Rust 1.87 and 2024 Edition
theduke Oct 8, 2025
d79c100
chore: Fix clippy lints on Windows in package crate
theduke Oct 9, 2025
903244b
build: Add lint-package-crate Makefile rule
theduke Oct 9, 2025
ff54b30
deps: Upgrade cranlift to 0.124.2
theduke Oct 9, 2025
9054a0b
fix(cranelift): Enable implicit register struct spilling
theduke Oct 9, 2025
020faf2
Merge branch 'main' into singlepass-add-rv64-target
marxin Oct 11, 2025
3612154
fix and refactor jmp_on_condition
marxin Oct 11, 2025
50b178e
Add "--cwd" flag to wasmer run
Arshia001 Oct 13, 2025
7f29bb9
Make binfmt use the run command
zebreus Oct 13, 2025
9901d42
Register binfmt misc handler for webc
zebreus Oct 13, 2025
1f5281c
Remove dead binfmt functions
zebreus Oct 13, 2025
8b19eeb
Make RootFileSystemBuilder smart about mounted dirs overlapping with …
Arshia001 Oct 13, 2025
6305ab2
Make binfmt add flags for a more host-like environment
zebreus Oct 13, 2025
ccebc73
Remove useless warning messages in binfmt
zebreus Oct 13, 2025
3d57df3
Fix lints
zebreus Oct 15, 2025
0d8ed04
Remove unneccessary to_string() to make clippy happy
zebreus Oct 15, 2025
bb15072
Merge pull request #5797 from wasmerio/feat/usable-binfmt
zebreus Oct 15, 2025
d761463
Merge branch 'main' into singlepass-add-rv64-target
marxin Oct 20, 2025
4035d21
add more links to the docs
marxin Oct 20, 2025
659b1da
recheck near/far jump instructions are used accordingly
marxin Oct 20, 2025
3807f6b
fix move_local by supporting bigger stack offsets
marxin Oct 20, 2025
fe382d8
chore: fix some minor issues in the comments (#5806)
withtimezone Oct 20, 2025
d1f0e9d
document a potential clash of the registers used for param passing
marxin Oct 20, 2025
ca6c018
fix(singlepass): support 1K function call arguments (#5802)
marxin Oct 20, 2025
a2539f6
fix(singlepass): Small Arm64 clean-up (#5803)
marxin Oct 20, 2025
09ce060
refactor(singlepass): swap jmp_on_condition arguments (#5804)
marxin Oct 20, 2025
51b530f
Merge branch 'main' into singlepass-add-rv64-target
marxin Oct 20, 2025
acf0066
support 1K function call arguments
marxin Oct 20, 2025
9443d16
cargo fmt
marxin Oct 20, 2025
94dd349
fix singlepass if 'riscv' feature is turned off
marxin Oct 20, 2025
b4cad46
support emit_debug_breakpoint
marxin Oct 20, 2025
a07dde7
properly save+restore FCSR
marxin Oct 20, 2025
0c473fb
restore UnsupportedTarget error in compile_module
marxin Oct 20, 2025
9724e86
Revert "implement Operator::Unreachable via direct call to wasmer_vm_…
marxin Oct 20, 2025
70f7c16
remove Architecture::Riscv32 as it is not supported right now
marxin Oct 20, 2025
5a4df5b
clean up compiler warnings
marxin Oct 20, 2025
6cf135c
implement gen_windows_unwind_info same as Arm64 target
marxin Oct 20, 2025
267b56c
remove 2 extra examples
marxin Oct 20, 2025
f6dc1fe
Fix exceptions not getting propagated with `Function::new_with_env`
Arshia001 Oct 21, 2025
1dd3937
Merge branch 'main' into feat/native-eh
Arshia001 Oct 21, 2025
274c7b7
ci: run test-stage-0-wast under QEMU in docker for RISC-V target
marxin Oct 21, 2025
8dcc1a9
CI: add wast-tests to test.yml
marxin Oct 21, 2025
6f2bed2
install cargo nextest in Docker
marxin Oct 21, 2025
78dbc70
Fix build/tests/lints
Arshia001 Oct 21, 2025
b660107
Update Windows wasmu artifacts
Arshia001 Oct 21, 2025
ca2b02b
ci: disable stuck test with Cranelift
marxin Oct 21, 2025
6b15d10
Fix wasmu artifacts again -.-
Arshia001 Oct 21, 2025
68a0c37
remove .cargo from gitignore - we use cargo.config for the project
marxin Oct 21, 2025
2273114
Move the "runtime error to exception" downcast logic to the WASM stac…
Arshia001 Oct 21, 2025
443c031
Fix mac build
Arshia001 Oct 21, 2025
a2c9835
Run binfmt in quiet mode by default
Arshia001 Oct 20, 2025
3cb80cd
Don't report compilation progress when in quiet mode
Arshia001 Oct 20, 2025
6bfb985
Truncate module hash to 8 characters when reporting compilation progress
Arshia001 Oct 21, 2025
7546b5f
ci: run test-stage-0-wast in parallel (#5809)
marxin Oct 22, 2025
366ea05
fix(llvm): fix compilation error with: CARGO_TARGET=riscv64gc-unknown…
marxin Oct 22, 2025
40b07ae
ci(cranelift): disable a crashing Cranelift test for riscv64gc target…
marxin Oct 22, 2025
0f2d52b
refactor: remove unused parts of FunctionStateMap (#5818)
marxin Oct 22, 2025
9dc5e05
fix(tests): respect cargo --target argument correctly (#5815)
marxin Oct 22, 2025
490d62d
Merge branch 'main' into singlepass-add-rv64-target
marxin Oct 22, 2025
91056be
implement Operator::Unreachable via direct call to wasmer_vm_raise_trap
marxin Oct 3, 2025
d2ff8ba
register trap mapping for VM unreachable fn call
marxin Oct 22, 2025
b3141ea
fix typo
marxin Oct 22, 2025
ed16eca
AbstractReg: remove unused trait fns
marxin Oct 22, 2025
d119b15
shrink Machine trait: remove unused functions
marxin Oct 22, 2025
b2f6fd8
remove commented fn
marxin Oct 22, 2025
d04135f
Machine trait: do not pass integer_overflow where unnecessary
marxin Oct 22, 2025
1404512
remove unused variables
marxin Oct 22, 2025
a5911e4
Apply review comments
Arshia001 Oct 22, 2025
313a2d9
Oops!
Arshia001 Oct 23, 2025
9940686
Small rename to clarify "native exception"
Arshia001 Oct 23, 2025
79f19e0
Merge pull request #5822 from marxin/singlepass-refactor-dead-code
marxin Oct 23, 2025
50531ed
Merge pull request #5821 from marxin/singlepass-unreachable-via-fn-call
marxin Oct 23, 2025
4bc710c
Remove ExceptionCollection and StoreObjectList for now, since we don'…
Arshia001 Oct 23, 2025
8ec500a
Merge pull request #5755 from wasmerio/feat/native-eh
Arshia001 Oct 23, 2025
7353fdc
refactor(singlepass): factor out registers used for calling a fn
marxin Oct 23, 2025
fe94a45
Merge pull request #5812 from wasmerio/feat/more-binfmt-improvements
Arshia001 Oct 23, 2025
53799a0
Merge pull request #5824 from marxin/singlepass-refactor-calling-conv…
marxin Oct 23, 2025
87db554
ci: enable 2 issues tests to be run on all targets (#5820)
marxin Oct 23, 2025
4f7c2e5
feat(virtual-fs): Export ops::walk (#5814)
theduke Oct 23, 2025
ab5e23c
Merge branch 'main' into singlepass-add-rv64-target
marxin Oct 24, 2025
c249ccf
fix wrongly used register
marxin Oct 24, 2025
77d0d26
disable 2 tests: known limitation for now
marxin Oct 24, 2025
28538ec
fix(ci): disable empty workflow file (#5832)
marxin Oct 25, 2025
8f76147
fix(cli): show LLVM related options only if llvm compiler is enabled …
marxin Oct 25, 2025
b4bff3c
feature(ci): improve error message if no backend enabled (#5834)
marxin Oct 25, 2025
073eedd
Enable tokio-console for debug builds
Arshia001 Oct 27, 2025
306f363
Fix a crash with SUBSCRIPTION_CLOCK_ABSTIME and timestamps in the past
Arshia001 Oct 28, 2025
83a75a0
Refactor how `InlineWaker::block_on` works, while also refactoring `I…
Arshia001 Oct 28, 2025
b041b56
Clippy fixes (#5827)
marxin Oct 28, 2025
5b95560
refactor(singlepass): `acquire_locations` always takes just a single …
marxin Oct 28, 2025
3b0b2bb
refactor(singlepass): come up with ControlState struct
marxin Oct 29, 2025
f6d7168
chore(clippy): fix remaining issues (#5840)
marxin Oct 29, 2025
1ad9299
Merge pull request #5841 from marxin/singlepass-ControlState
marxin Oct 30, 2025
12611a7
refactor(singlepass): drop MachineState (#5842)
marxin Oct 30, 2025
2bd6461
App Templates fixes and improvements (#5839)
syrusakbary Oct 30, 2025
ec3e231
Implement wasmer_compiler::wasm_trace_from_current_stack
Arshia001 Oct 30, 2025
9533eb2
Bump MSRV to 1.88 (apply clippy fixes) (#5843)
marxin Oct 30, 2025
9b831ab
Rework `ThreadConditions` to avoid multiple race conditions and deadl…
Arshia001 Oct 30, 2025
a28edfe
Fix a lint
Arshia001 Oct 30, 2025
e04a238
Fix ThreadConditions tests
Arshia001 Oct 30, 2025
4a30853
Fix lints
Arshia001 Oct 30, 2025
349d922
Merge remote-tracking branch 'origin/main' into fix/wasix-hangs
Arshia001 Oct 30, 2025
22f885b
Update lib/vm/src/memory.rs
Arshia001 Oct 30, 2025
da6d38a
Apply review comments
Arshia001 Oct 30, 2025
3ed71b7
Merge pull request #5838 from wasmerio/fix/wasix-hangs
Arshia001 Oct 31, 2025
57f51e5
Linker: fix initialization order of main module
Arshia001 Oct 31, 2025
3d21acf
Merge pull request #5844 from wasmerio/fix/linker-main-initialization…
Arshia001 Oct 31, 2025
64762dc
refactor(singlepass): track FP canonicalization directly in value stack
marxin Oct 31, 2025
abb8722
Merge pull request #5846 from marxin/singlepass-CanonicalizeType-in-v…
marxin Oct 31, 2025
52c6328
chore(cli): commands/run code quality cleanup
theduke Oct 24, 2025
786a341
chore(cli): MonitoringRuntime progress bar cleanup
theduke Oct 24, 2025
85023ad
chore(deps): Replace is-terminal crate with stdlib
theduke Oct 24, 2025
4d48c02
Linker: stop giving main modules a memory_base of zero + stop assumin…
Arshia001 Nov 5, 2025
222f280
Update lib/wasix/src/state/linker.rs
Arshia001 Nov 5, 2025
e6e4a4d
Update lib/wasix/src/state/linker.rs
Arshia001 Nov 5, 2025
cca69ce
chore(LLVM): use write_all (#5850)
marxin Nov 6, 2025
3276034
Merge pull request #5852 from wasmerio/fix/non-zero-main-memory-base
Arshia001 Nov 6, 2025
f0c0181
chore(singlepass): unify acquire/release-location related functions (…
marxin Nov 6, 2025
013fd19
fix(clippy): run cargo clippy for examples (#5853)
marxin Nov 6, 2025
bf41fbb
feat(cli): Extend '--version --verbose' with CPU info (#5856)
theduke Nov 7, 2025
2191455
fix(CI): allow parallel run of all WAST tests (#5854)
marxin Nov 10, 2025
85af423
CI: run test-stage-1-test-all in parallel (#5863)
marxin Nov 10, 2025
cb2c8c9
chore: use git_version crate for hash embedding in CLI (#5867)
marxin Nov 11, 2025
a652fbc
fix(cranelift): always use inline stack probes (#5866)
marxin Nov 11, 2025
ffb0e54
drop cli-compiler crate (#5862)
marxin Nov 11, 2025
e177c75
feature: rework `--debug-dir` option (#5861)
marxin Nov 12, 2025
8f6f39f
ci(windows): align unsafe functions for Windows target (#5871)
marxin Nov 12, 2025
112329c
Fix compilation of virutal-net with the tokio feature enabled
Arshia001 Nov 13, 2025
c846d2c
Merge pull request #5873 from wasmerio/fix/virtual-net-tokio-feature
Arshia001 Nov 13, 2025
593f5f4
Update LICENSE clarifying Generated Code terms
syrusakbary Nov 13, 2025
b8b22ea
Simplified terms. Make license clear is from Singlepass 6.1.0 onwards
syrusakbary Nov 13, 2025
1dbf125
Update lib/compiler-singlepass/src/machine_riscv.rs
syrusakbary Nov 13, 2025
8255b28
chore: bump MSRV to 1.89 and update the docs accordingly (#5874)
marxin Nov 14, 2025
64019ea
fix(compiler): rename option to prevent option clash (#5875)
marxin Nov 14, 2025
cfae863
fix(CI): do not mess up user's profile in default location (#5876)
marxin Nov 14, 2025
2ca47c5
Singlepass: add multivalue support (#5869)
marxin Nov 18, 2025
28153cd
Merge branch 'main' into singlepass-add-rv64-target
marxin Nov 18, 2025
c970157
partially support multivalue
marxin Nov 18, 2025
a9774d8
fix multivalue support in Singlepass
marxin Nov 18, 2025
d2dbe35
Improved LICENSEs of wasmer-compiler-singlepass and wasmer-compiler-llvm
syrusakbary Nov 18, 2025
6870c8d
fix(compiler): limit the path component for debug files (to 255) (#5878)
marxin Nov 19, 2025
adfe78c
deps: bump Cranelift to 0.125.4 (#5880)
marxin Nov 19, 2025
761c97b
Merge branch 'main' into singlepass-add-rv64-target
marxin Nov 19, 2025
3212340
fix(singlepass): fix wrong code connected to multivalue (#5884)
marxin Nov 19, 2025
17fd5cd
build: bump Inkwell crate (#5885)
marxin Nov 19, 2025
80ccb04
CI(compiler): fix cargo deny issues connected to licenses (#5887)
marxin Nov 20, 2025
8feee46
Merge branch 'main' into singlepass-add-rv64-target
marxin Nov 20, 2025
586361d
fix(cranelift): fix get_function_name reference lookup (#5888)
marxin Nov 20, 2025
9600a16
build: switch to LLVM 21 (#5889)
marxin Nov 20, 2025
d05dc32
fix wrong code connected to stack pushing of a value
marxin Nov 21, 2025
6cc9a32
Update lib/types/src/target.rs
marxin Nov 21, 2025
b0b24a2
remove leftover for Cranelift
marxin Nov 21, 2025
4693d9a
chore(cranelift): unify rayon and non-rayon code with closure (#5896)
marxin Nov 21, 2025
bd79cf5
fix comparison operation (missing extension of operands)
marxin Nov 24, 2025
084140e
fix indirect call with many arguments
marxin Nov 24, 2025
04963f9
CI: migrate workflows to checkout v6 (#5899)
rejected-l Nov 24, 2025
0657d3b
fix: complex memory operand in emit_relaxed_sign_extension
marxin Nov 24, 2025
24f1306
ci: bump actions-cache-s3 (#5897)
marxin Nov 24, 2025
b62a486
fix(cicd): Swap to new organizational ciuser token (#5902)
baalimago Nov 25, 2025
b2b3366
Singlepass refactoring (#5901)
marxin Nov 25, 2025
f2bf016
deps: bump Cranelift to 0.126.0 (#5900)
marxin Nov 25, 2025
b9db238
fix(LLVM): fix compiler error on aarch64 target (#5882)
marxin Nov 25, 2025
24e2598
Merge branch 'main' into singlepass-add-rv64-target
marxin Nov 25, 2025
bea221d
Add Wasmer LinkedIn link to README (#5910)
VinciGit00 Nov 25, 2025
07eae6e
build(LLVM): drop unused code (#5909)
marxin Nov 26, 2025
64c459d
CI: leave MacOS 13 for x86_64 target. (#5914)
marxin Nov 26, 2025
23edb48
CI: add posix-compatible TAR for alpine (#5916)
marxin Nov 27, 2025
2ef83d7
chore(singlepass): expect only register args in get_simple_param_loca…
marxin Nov 27, 2025
4429a45
fix(singlepass): properly align stack slots in deallocation (#5918)
marxin Nov 27, 2025
8bca062
Documentation to add second R integration WIP package (#5894)
sounkou-bioinfo Nov 27, 2025
242ae27
build: use nightly for docs and port to it (#5911)
marxin Nov 27, 2025
4d8e3ae
CI: move back to working actions-cache-s3@v2 (#5921)
marxin Nov 27, 2025
5827dfc
fix(llvm): use llvm.minimum/maximum intrinsics and refactor NaN canon…
theduke Nov 27, 2025
623852d
build: move dependency declarations to top-level Cargo.toml (#5865)
marxin Nov 28, 2025
47ef166
feature(singlepass): add --debug-dir for assembly output (#5848)
marxin Nov 28, 2025
68092ff
chore(virtual-fs): Make PassthruFileSystem Arc based
theduke Nov 30, 2025
2fcb28d
chore(virtual-fs): UnionFileSystem::merge
theduke Nov 30, 2025
f8ce5e3
fix: Prevent filesystem merge for packages
theduke Nov 30, 2025
3958bf4
feat: Use macos (arm) 14 via depot runners (#5892)
baalimago Dec 1, 2025
b128c4c
Merge pull request #5799 from wasmerio/run-758-wasix-running-a-packag…
Arshia001 Dec 2, 2025
a425e29
CI(LLVM): enable tests on Windows (#5937)
marxin Dec 2, 2025
8f879ce
CI(LLVM): port mvr_test and enable them for LLVM compiler (#5936)
marxin Dec 2, 2025
e1cb53d
fix(backend-api): Update GraphQL schema (#5924)
theduke Dec 2, 2025
be42f6d
CI: move Alpine to edge and use LLVM 21 (#5935)
marxin Dec 2, 2025
1395507
CI: disable multi-value (host fn) tests as it's borked on Windows for…
marxin Dec 3, 2025
e3b326f
chore(singlepass): simplify arch_supports_x (#5917)
marxin Dec 3, 2025
12e4295
deps: bump crates (part 1) (#5925)
marxin Dec 3, 2025
9cc14c1
fix: Set LLVM target machine's ABI in a portable way (#5945)
wakabat Dec 5, 2025
93891a9
Async execution API + concurrent execution support
Arshia001 Dec 5, 2025
0b44d60
Port to powerpc64 Linux (#5762)
xingxue-ibm Dec 9, 2025
0e2180e
CI: run macos-15-intel only on main (not in PRs) (#5926)
marxin Dec 9, 2025
5e3fb56
Prevent crashes during exit due to deregistering frames on exit (v3) …
marxin Dec 9, 2025
2d7a969
Bump MSRV to 1.90 (#5950)
marxin Dec 9, 2025
ff0861b
chore: simplify logic in UnwindRegistry
marxin Dec 9, 2025
87ef770
Merge pull request #5956 from wasmerio/unwind-cleanup
zebreus Dec 9, 2025
f6745fd
CI: shorten job names for UI purpose (#5938)
marxin Dec 10, 2025
647251d
Merge branch 'main' into singlepass-add-rv64-target
marxin Dec 10, 2025
d4584a0
Pin wasix libc version in CI
zebreus Dec 10, 2025
6c3f680
Merge pull request #5959 from wasmerio/wasmer-pin-wasix-libc-version
zebreus Dec 10, 2025
40232fe
fix clippy warning
marxin Dec 11, 2025
a7d4ec0
Merge branch 'main' into singlepass-add-rv64-target
marxin Dec 11, 2025
329edf4
CI: fix failing CI jobs (failing FYI test, out of disk space with Cac…
marxin Dec 11, 2025
e36c091
deps: sort crate depedencies alphabetically (#5944)
marxin Dec 11, 2025
cdc05aa
CI: drop unused sccache and handle GH workflow issues (#5913)
marxin Dec 11, 2025
69720a4
Merge branch 'main' into singlepass-add-rv64-target
marxin Dec 11, 2025
7043dc6
Merge branch 'pr-5711-temp' into merge-wasmer-pr-5711-riscv64-support
bragaigor Dec 15, 2025
3a5f7f3
Get proper mutable VMGlobal instance
bragaigor Dec 15, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
7 changes: 7 additions & 0 deletions .cargo/config.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
[target.riscv64gc-unknown-linux-gnu]
linker = "riscv64-linux-gnu-gcc"
runner = "qemu-riscv64 -L /usr/riscv64-linux-gnu/"

[target.aarch64-unknown-linux-gnu]
linker = "aarch64-linux-gnu-gcc"
runner = "qemu-aarch64 -L /usr/aarch64-linux-gnu/"
7 changes: 5 additions & 2 deletions .github/cross-linux-riscv64/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ RUN apt-get update && \
# install rust tools
RUN curl --proto "=https" --tlsv1.2 --retry 3 -sSfL https://sh.rustup.rs | sh -s -- -y
ENV PATH="/root/.cargo/bin:${PATH}"
RUN rustup -v toolchain install 1.84
RUN rustup -v toolchain install 1.90
# add docker the manual way
COPY install_docker.sh /
RUN /install_docker.sh
Expand Down Expand Up @@ -61,7 +61,10 @@ ENV CARGO_TARGET_RISCV64GC_UNKNOWN_LINUX_GNU_LINKER="$CROSS_TOOLCHAIN_PREFIX"gcc
RUST_TEST_THREADS=1 \
PKG_CONFIG_PATH="/usr/lib/riscv64-linux-gnu/pkgconfig/:${PKG_CONFIG_PATH}"

RUN rustup target add riscv64gc-unknown-linux-gnu --toolchain 1.84-x86_64-unknown-linux-gnu
RUN rustup target add riscv64gc-unknown-linux-gnu --toolchain 1.90-x86_64-unknown-linux-gnu

# quickly install cargo nextest by using pre-built binary
RUN curl -LsSf https://get.nexte.st/latest/linux | tar zxf - -C ${CARGO_HOME:-~/.cargo}/bin

#compile libssl-dev for riscv64!
COPY build_openssl.sh /
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/benchmark.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ on:

env:
CARGO_REGISTRIES_CRATES_IO_PROTOCOL: git
MSRV: "1.84"
MSRV: "1.90"

jobs:
run_benchmark:
Expand All @@ -24,7 +24,7 @@ jobs:
SCCACHE_AZURE_BLOB_CONTAINER: wasmerstoragesccacheblob
SCCACHE_AZURE_CONNECTION_STRING: ${{ secrets.SCCACHE_AZURE_CONNECTION_STRING }}
steps:
- uses: actions/checkout@v5
- uses: actions/checkout@v6
- name: Install Rust
uses: dtolnay/rust-toolchain@stable
with:
Expand Down
110 changes: 35 additions & 75 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ name: Builds
env:
RUST_BACKTRACE: 1
CARGO_REGISTRIES_CRATES_IO_PROTOCOL: git
MSRV: "1.84"
MSRV: "1.90"

on:
push:
Expand Down Expand Up @@ -51,10 +51,8 @@ jobs:
- build: linux-arm64
os: ubuntu-22.04-arm
artifact_name: "wasmer-linux-aarch64"
#llvm_url: "https://github.com/wasmerio/llvm-custom-builds/releases/download/18.x/llvm-linux-aarch64.tar.xz"
#llvm_url: "https://github.com/wasmerio/llvm-custom-builds/releases/download/21.x/llvm-linux-aarch64.tar.xz"
cross_compilation_artifact_name: "cross_compiled_from_linux"
use_sccache: false
use_rustcache: false
build_wasm: true
enable_llvm: false
enable_v8: false
Expand All @@ -63,43 +61,39 @@ jobs:
- build: linux-x64
os: ubuntu-22.04
artifact_name: "wasmer-linux-amd64"
llvm_url: "https://github.com/wasmerio/llvm-custom-builds/releases/download/18.x/llvm-linux-amd64.tar.xz"
llvm_url: "https://github.com/wasmerio/llvm-custom-builds/releases/download/21.x/llvm-linux-amd64.tar.xz"
cross_compilation_artifact_name: "cross_compiled_from_linux"
use_sccache: false
build_wasm: true
enable_llvm: true
enable_v8: true
enable_wasmi: true
enable_wamr: true
- build: macos-x64
os: macos-13
llvm_url: "https://github.com/wasmerio/llvm-custom-builds/releases/download/18.x/llvm-darwin-amd64.tar.xz"
os: macos-15-intel
llvm_url: "https://github.com/wasmerio/llvm-custom-builds/releases/download/21.x/llvm-darwin-amd64.tar.xz"
artifact_name: "wasmer-darwin-amd64"
cross_compilation_artifact_name: "cross_compiled_from_mac"
use_sccache: false
build_wasm: false
enable_llvm: true
enable_v8: true
enable_wasmi: true
enable_wamr: true
- build: macos-arm64
os: macos-14
os: depot-macos-14
target: aarch64-apple-darwin
artifact_name: "wasmer-darwin-arm64"
use_sccache: false
build_wasm: false
llvm_url: "https://github.com/wasmerio/llvm-custom-builds/releases/download/18.x/llvm-darwin-aarch64.tar.xz"
llvm_url: "https://github.com/wasmerio/llvm-custom-builds/releases/download/21.x/llvm-darwin-aarch64.tar.xz"
enable_llvm: true
enable_v8: true
enable_wasmi: true
enable_wamr: true
- build: windows-x64
os: windows-2022
artifact_name: "wasmer-windows-amd64"
llvm_url: "https://github.com/wasmerio/llvm-custom-builds/releases/download/18.x/llvm-windows-amd64.tar.xz"
llvm_url: "https://github.com/wasmerio/llvm-custom-builds/releases/download/21.x/llvm-windows-amd64.tar.xz"
cross_compilation_artifact_name: "cross_compiled_from_win"
build_wasm: false
use_sccache: false
enable_llvm: true
enable_v8: false
enable_wasmi: true
Expand All @@ -115,18 +109,17 @@ jobs:
# enable_wasmi: true
# enable_wamr: false

container: ${{ matrix.container }}
env:
SCCACHE_AZURE_BLOB_CONTAINER: wasmerstoragesccacheblob
SCCACHE_AZURE_CONNECTION_STRING: ${{ secrets.SCCACHE_AZURE_CONNECTION_STRING }}
TARGET: ${{ matrix.target }}
steps:
- uses: actions/checkout@v5
- uses: actions/checkout@v6
- name: Set up base deps on musl
if: startsWith(matrix.build, 'linux-musl-x64')
run: |
apk add bash mold make curl cmake ninja clang18 zstd-static llvm18-dev clang18-static llvm18-static ncurses-static zlib-static libxml2-dev libxml2-static xz-dev xz-static xz-libs libc++-dev libc++-static
ln -s /usr/bin/clang-18 /usr/bin/clang
apk add bash mold make curl cmake ninja clang21 zstd-static llvm21-dev clang21-static llvm21-static ncurses-static zlib-static libxml2-dev libxml2-static xz-dev xz-static xz-libs libc++-dev libc++-static
ln -s /usr/bin/clang-21 /usr/bin/clang
- name: Install Linux tools
if: startsWith(matrix.build, 'linux-x64')
run: |
Expand Down Expand Up @@ -162,11 +155,9 @@ jobs:
uses: dtolnay/rust-toolchain@stable
with:
toolchain: ${{ env.MSRV }}
target: ${{ matrix.target }}
- uses: Swatinem/rust-cache@v2
if: ${{ matrix.use_sccache != true && matrix.use_rustcache != false }}
- name: Install LLVM (macOS Apple Silicon)
if: matrix.os == 'macos-13' && !matrix.llvm_url
target: ${{ matrix.target }}
- name: Install LLVM (macOS Intel)
if: matrix.os == 'macos-15-intel' && !matrix.llvm_url
run: |
brew install llvm
- name: Install LLVM
Expand All @@ -185,14 +176,14 @@ jobs:
shell: bash
run: |
LLVM_DIR=$(pwd)/${{ env.LLVM_DIR }}
echo LLVM_SYS_180_PREFIX="${LLVM_DIR}" >> $GITHUB_ENV
echo LLVM_SYS_211_PREFIX="${LLVM_DIR}" >> $GITHUB_ENV
echo LLVM_ENABLE=1 >> $GITHUB_ENV
env:
LLVM_DIR: .llvm
- name: Add `brew` libraries (Apple Silicon)
run: |
echo "RUSTFLAGS=-L/opt/homebrew/lib" >> $GITHUB_ENV
if: matrix.os == 'macos-14'
if: matrix.os == 'macos-14' || matrix.os == 'depot-macos-14'
- name: Set up dependencies for Mac OS
run: |
brew install automake
Expand All @@ -206,18 +197,6 @@ jobs:
~/.cargo/registry
~/.cargo/git
key: ${{ matrix.build }}-${{ matrix.target }}-cargo-${{ hashFiles('Cargo.lock') }}-v1
- uses: actions/cache@v4
if: matrix.use_sccache
with:
path: ${{ runner.tool_cache }}/cargo-sccache
key: ${{ matrix.build }}-${{ matrix.target }}-sccache-bin-${{ env.CARGO_SCCACHE_VERSION }}-v1
- name: Install sccache
if: matrix.use_sccache
run: |
if [ ! -f '${{ runner.tool_cache }}/cargo-sccache/bin/sccache' ]; then
cargo install sccache --no-default-features --features=dist-client,azure --root '${{ runner.tool_cache }}/cargo-sccache'
fi
shell: bash
- name: Setup Rust target
run: |
mkdir -p .cargo
Expand All @@ -226,42 +205,14 @@ jobs:
target = "${{ matrix.target }}"
EOF
if: matrix.target
- name: Set sccache port
if: matrix.use_sccache && matrix.random_sccache_port
run: |
netstat -aln | awk '
$6 == "LISTEN" {
if ($4 ~ "[.:][0-9]+$") {
n = split($4, a, /[:.]/);
port = a[n];
p[port] = 1
}
}
END {
for (i = 3000; i < 65000 && p[i]; i++){};
if (i == 65000) {exit 1};
print "SCCACHE_SERVER_PORT=" i
}
' >> $GITHUB_ENV
# echo "SCCACHE_SERVER_PORT=9000"
echo "Setting random sccache port to: $SCCACHE_SERVER_PORT"
shell: bash
- name: Start sccache
if: matrix.use_sccache
run: |
chmod +x '${{ runner.tool_cache }}/cargo-sccache/bin/sccache'
'${{ runner.tool_cache }}/cargo-sccache/bin/sccache' --start-server
'${{ runner.tool_cache }}/cargo-sccache/bin/sccache' -s
echo 'RUSTC_WRAPPER=${{ runner.tool_cache }}/cargo-sccache/bin/sccache' >> $GITHUB_ENV
shell: bash
- name: Build C API headless
shell: bash
run: |
LLVM_CONFIG_PATH=/usr/bin/llvm-config-18 make package-capi-headless
LLVM_CONFIG_PATH=/usr/bin/llvm-config-21 make package-capi-headless
- name: Build C API
shell: bash
run: |
LLVM_CONFIG_PATH=/usr/bin/llvm-config-18 make build-capi
LLVM_CONFIG_PATH=/usr/bin/llvm-config-21 make build-capi
- name: Build Wasmer binary
if: ${{ !startsWith(matrix.build, 'linux-x64') && !startsWith(matrix.build, 'linux-musl') }}
shell: bash
Expand All @@ -286,9 +237,9 @@ jobs:
run: |
echo "#!/bin/bash" >> /usr/bin/llvm-config
echo 'if [ "$1" = "--libs" ]; then' >> /usr/bin/llvm-config
echo 'llvm-config-18 "$@" "--link-static"' >> /usr/bin/llvm-config
echo 'llvm-config-21 "$@" "--link-static"' >> /usr/bin/llvm-config
echo "else" >> /usr/bin/llvm-config
echo 'llvm-config-18 "$@"' >> /usr/bin/llvm-config
echo 'llvm-config-21 "$@"' >> /usr/bin/llvm-config
echo 'fi' >> /usr/bin/llvm-config
cat /usr/bin/llvm-config
chmod +x /usr/bin/llvm-config
Expand Down Expand Up @@ -341,7 +292,7 @@ jobs:
if: github.event_name != 'pull_request' || startsWith(github.head_ref, 'release-')
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v5
- uses: actions/checkout@v6
- name: Install Windows-GNU linker
shell: bash
run: |
Expand Down Expand Up @@ -408,9 +359,9 @@ jobs:
darwin_aarch64_jsc:
name: macOS aarch64 (JSC)
if: github.event_name != 'pull_request' || startsWith(github.head_ref, 'release-')
runs-on: macos-13
runs-on: depot-macos-14
steps:
- uses: actions/checkout@v5
- uses: actions/checkout@v6
- uses: dtolnay/rust-toolchain@stable
with:
target: aarch64-apple-darwin
Expand Down Expand Up @@ -442,9 +393,9 @@ jobs:
darwin_x86_64_jsc:
name: macOS x86_64 (JSC)
if: github.event_name != 'pull_request' || startsWith(github.head_ref, 'release-')
runs-on: macos-13
runs-on: macos-15-intel
steps:
- uses: actions/checkout@v5
- uses: actions/checkout@v6
- uses: dtolnay/rust-toolchain@stable
with:
target: x86_64-apple-darwin
Expand Down Expand Up @@ -474,7 +425,7 @@ jobs:
if: github.event_name != 'pull_request' || startsWith(github.head_ref, 'release-')
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v5
- uses: actions/checkout@v6
- uses: dtolnay/rust-toolchain@stable
with:
target: riscv64gc-unknown-linux-gnu
Expand All @@ -483,6 +434,15 @@ jobs:
docker build -t wasmer/riscv64 ${GITHUB_WORKSPACE}/.github/cross-linux-riscv64/
env:
CROSS_DOCKER_IN_DOCKER: true
- name: "Run wast test suite for all compilers"
run: test-stage-0-wast
env:
CARGO_BINARY: docker run -v /var/run/docker.sock:/var/run/docker.sock -v ${GITHUB_WORKSPACE}:/project -w /project wasmer/riscv64:latest cargo
CROSS_DOCKER_IN_DOCKER: true
CARGO_TARGET: riscv64gc-unknown-linux-gnu
PKG_CONFIG_PATH: /usr/lib/riscv64-linux-gnu/pkgconfig
PKG_CONFIG_ALLOW_CROSS: true
ENABLE_LLVM: 0
- name: Build Wasmer binary
run: |
make build-wasmer
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/cache-bucket-cleanup.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ jobs:
- name: Install boto3 library
run: pip install boto3
- name: Clone repository
uses: actions/checkout@v5
uses: actions/checkout@v6
- name: Run cleanup
env:
AWS_ENDPOINT: https://1541b1e8a3fc6ad155ce67ef38899700.r2.cloudflarestorage.com
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/check-public-api.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ jobs:
steps:

- name: Checkout
uses: actions/checkout@v5
uses: actions/checkout@v6
with:
fetch-depth: 0

Expand Down
32 changes: 0 additions & 32 deletions .github/workflows/cifuzz.yaml

This file was deleted.

5 changes: 2 additions & 3 deletions .github/workflows/cloudcompiler.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ name: Release cloudcompiler.wasm

env:
RUST_BACKTRACE: 1
MSRV: "1.84"
MSRV: "1.90"

on:
push:
Expand All @@ -16,14 +16,13 @@ jobs:
name: Set up
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v5
- uses: actions/checkout@v6
with:
fetch-depth: 0
- name: Install Rust
uses: dtolnay/rust-toolchain@stable
with:
toolchain: ${{ env.MSRV }}
target: ${{ matrix.target }}
- name: Install wasm32-wasip1 target
shell: bash
run: |
Expand Down
Loading
Loading