Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
2336 commits
Select commit Hold shift + click to select a range
66045b3
Add even more tests including one that triggers an error
zebreus Dec 1, 2025
5e00cf9
Fix hallucinated broken tests
zebreus Dec 1, 2025
739ff1a
Add a short descriptions to the context switching functions
zebreus Dec 1, 2025
5131716
Add two more todo comments for context switching
zebreus Dec 1, 2025
a5d6f02
Add a comment to explain how context deletion is initiated
zebreus Dec 1, 2025
1a81063
Organize imports in context switching functions
zebreus Dec 1, 2025
1f6cd81
Clean up context_switch
zebreus Dec 1, 2025
8e593bc
Remove dead code
zebreus Dec 1, 2025
4700fe2
Document fields in the context-switching environment
zebreus Dec 1, 2025
bbd2f54
Rename context switching context to context-switching environment
zebreus Dec 2, 2025
7de15fb
Light refactoring in context_switching
zebreus Dec 2, 2025
4e0a1a1
Add more comments in context_switching
zebreus Dec 2, 2025
48ef372
Fix clippy lints
zebreus Dec 2, 2025
3497791
Define how to handle error cases during context switching
zebreus Dec 2, 2025
473915f
Properly define behaviour in edgecases where the executor outlives th…
zebreus Dec 2, 2025
0601815
Fix remaining TODO comment in context_switching
zebreus Dec 2, 2025
0121d72
Move context-switching environment into a better location
zebreus Dec 2, 2025
b7ae9e5
Fix unsafe conversion from TypedFunction into Function
zebreus Dec 2, 2025
a116748
Remove do_pending_operations from context_switch
zebreus Dec 2, 2025
21882f7
Add a note that _initialize for the main module and it's shared libs …
zebreus Dec 2, 2025
6d06ed1
Remove useless TODO
zebreus Dec 2, 2025
0682bfa
Use a typed function as the entrypoint when creating a new context
zebreus Dec 2, 2025
0b802a0
Remove resolved TODO comment in context_create
zebreus Dec 2, 2025
a0831c6
Make sure Senders never leave ContextSwitchingEnvironment
zebreus Dec 2, 2025
32b7778
Handle context entrypoint functions returning
zebreus Dec 2, 2025
f21b949
Add do_pending_operations to context_switch
zebreus Dec 3, 2025
e95354d
Improve context-switching trace messages
zebreus Dec 4, 2025
f0f3126
Add support for engines not supporting async execution
zebreus Dec 5, 2025
22452b2
Rename the functions of context_switching
zebreus Dec 5, 2025
ab0fadf
Refactor getting the unblocker in switch_context
zebreus Dec 5, 2025
62239e9
Replace the again errors with not supported errors
zebreus Dec 5, 2025
0e42468
Change error message
zebreus Dec 5, 2025
29c8b73
Change entrypoint to untyped function
zebreus Dec 8, 2025
92dd61c
Add assertions to prevent context switching to be used in combination…
zebreus Dec 8, 2025
8c49e89
Make all tests pass with node api
syrusakbary Dec 9, 2025
981a041
Add context switching for forked processes
zebreus Dec 8, 2025
9f4608d
Support process_fork with context switching
zebreus Dec 9, 2025
51dfecf
Improve handling of undefined behaviour when vfork traps
zebreus Dec 9, 2025
4f306b4
Change expected behaviour for a test to failing
zebreus Dec 9, 2025
5748a24
Fix clippy lints
zebreus Dec 9, 2025
6f4ff40
Disable context switching tests until wasixcc supports it and is avai…
zebreus Dec 9, 2025
d62fa0a
Add context switching tests to the WASIX tests
zebreus Dec 10, 2025
6da0f7f
Update WASIX sysroot release
zebreus Dec 10, 2025
051f762
Allow undefined behaviour test to pass
zebreus Dec 10, 2025
cef1e67
Make preconditions for run_main_context more strict
zebreus Dec 10, 2025
e8f7562
Add wasixcc install to unit tests
zebreus Dec 11, 2025
64ae9a3
Reenable wasixcc based unit tests
zebreus Dec 11, 2025
6f904be
Try wasixcc install on musl linux
zebreus Dec 11, 2025
12a9e40
Remove duplicate tests
zebreus Dec 11, 2025
1fe0a5b
Disable context-switching test that only works with eh
zebreus Dec 12, 2025
36753dd
Enable wasixcc based tests on all unix targets
zebreus Dec 12, 2025
0265c96
Update wasixcc version in tests
zebreus Dec 12, 2025
206a35c
Adjust wasixcc install in CI
zebreus Dec 12, 2025
d741909
Prevent process forking if a vfork is already active
zebreus Dec 12, 2025
b31403d
Add a test to ensure nested vforks are not allowed
zebreus Dec 12, 2025
6de9324
Adjust resume_context to also use the ContextSwitchingEnvironment ent…
zebreus Dec 12, 2025
d41ec07
Add comment to justify usage of run_main_context
zebreus Dec 12, 2025
a363d4c
Add a warning about potential memory usage to destroy_context
zebreus Dec 12, 2025
15b69b1
Fix warning in context_create
zebreus Dec 12, 2025
2e7d73b
Fix comment in context_destroy
zebreus Dec 12, 2025
dddae2c
Add todo to remove the arc from ContextSwitchingEnvironment
zebreus Dec 12, 2025
3764871
Fix test runner for context switching tests
zebreus Dec 12, 2025
bc49475
chore: use EH-related `Gimli` crate constants (#5964)
marxin Dec 12, 2025
885da52
deps: bump bincode to 2.0 (#5970)
marxin Dec 15, 2025
996f17c
deps: bump wasm-coredump-builder crate (#5969)
marxin Dec 15, 2025
843a161
cli: add short options for the compilers (#5967)
marxin Dec 15, 2025
7f3b00b
chore: resolve build warnings with all features enabled (#5968)
marxin Dec 15, 2025
5f93c23
Give variables in find_eh_action more descriptive names (#5720)
zebreus Dec 15, 2025
7e7d8fb
feat: drop mounting of a journal feature (fuse feature)
marxin Dec 15, 2025
ca75e04
Merge pull request #5972 from wasmerio/drop-mount-journal-feature
Arshia001 Dec 15, 2025
ca5ac10
Speed up wasixcc install
zebreus Dec 12, 2025
5159796
Merge pull request #5881 from wasmerio/wasix-context-api
zebreus Dec 15, 2025
2f28cc7
fix: do not create folders for cache/queries entries (#5974)
marxin Dec 15, 2025
e6b3138
chore: drop non top-level Cargo.lock files (#5975)
marxin Dec 15, 2025
78ecea6
CI: re-enable test due to fixed rustc +nightly (#5971)
marxin Dec 16, 2025
6a929cd
Make all WASIX interop enums non_exhaustive to prevent UB in case of …
Arshia001 Dec 16, 2025
d23d94a
Prevent ratelimits when installing wasixcc
zebreus Dec 16, 2025
f4f31ac
Merge pull request #5979 from wasmerio/add-github-token-to-wasixcc-in…
Arshia001 Dec 16, 2025
8413c04
Merge remote-tracking branch 'origin/main' into fix/wasix-invalid-enu…
Arshia001 Dec 16, 2025
e1a5362
Merge pull request #5978 from wasmerio/fix/wasix-invalid-enum-values
Arshia001 Dec 16, 2025
1374112
Fixed proc spawn2 when duplicating stdio fds (#5981)
syrusakbary Dec 17, 2025
449dd57
chore: drop dead code available with `--compiler-debug-dir` (#5973)
marxin Dec 17, 2025
5cf2077
fix: do not call `detect_features_from_wasm` with WAT content (#5982)
marxin Dec 17, 2025
9f10fbe
chore: simplify rounding up (align up) logic - use std library (#5983)
marxin Dec 18, 2025
a5f4b5d
fix(build): Meaningful compilation errors when no backend feature ena…
theduke Dec 18, 2025
ac43468
CI: include Bearer + retry for getting LLVM tarball release
marxin Dec 18, 2025
e6cc998
use capital letter for Authorization
marxin Dec 18, 2025
f13f69b
chore: don't call Features::detect_from_wasm if enable all option is …
marxin Dec 18, 2025
814ed88
Merge pull request #5986 from wasmerio/ci-curl-github-bearer
zebreus Dec 19, 2025
0c1ba61
deps: bump `wasmparser` crate and port to it (#5989)
marxin Dec 19, 2025
bdaed96
chore: cleanup (#5987)
marxin Dec 22, 2025
d2f7f78
Implement proc_vfork
zebreus Dec 16, 2025
4ca8088
Define behaviour around child_pid
zebreus Dec 16, 2025
937d13c
Rename proc_vfork to proc_fork_env
zebreus Dec 17, 2025
a0c734a
Run wasix vfork tests with exception handling
zebreus Dec 17, 2025
4900df5
Fix typos
zebreus Dec 17, 2025
eb15f9b
Add proc_exit2
zebreus Dec 19, 2025
b92cd50
Adjust WasiVFork
zebreus Dec 19, 2025
c5d81f4
Clean up proc_fork_env
zebreus Dec 19, 2025
596cf28
Improve documentation comments
zebreus Dec 19, 2025
c1850f1
Improve documentation for proc_exit2
zebreus Dec 19, 2025
8a1b716
Clean imports in proc_fork_env
zebreus Dec 19, 2025
07f219b
Rewrite the docs for proc_fork_env
zebreus Dec 19, 2025
2edde03
Fix typos
zebreus Dec 19, 2025
594de10
Fix typo
zebreus Dec 19, 2025
41ef8d0
Fix typo
zebreus Dec 19, 2025
7b1cdc7
Refactor proc_exit2
zebreus Dec 19, 2025
ff55fd2
Apply suggestions from code review
zebreus Dec 19, 2025
721b9fa
Adjust the test setup
zebreus Dec 22, 2025
b357270
Remove debug log in proc_exit2
zebreus Dec 22, 2025
796e746
Adjust error messages in proc_fork_env
zebreus Dec 22, 2025
439a5eb
deps: bump crates (#5996)
marxin Dec 23, 2025
4100d39
Exclude macos aarch64 from wasix unit tests
zebreus Dec 23, 2025
4334775
Pin wasixcc sysroot in CI jobs
zebreus Dec 23, 2025
114e708
Merge pull request #5980 from wasmerio/implement-asyncify-free-vfork
zebreus Dec 23, 2025
33e9d68
deps: bump cranelift to 0.127.0 (#6001)
marxin Dec 23, 2025
3c25cdb
feat(LLVM): use no-opt for extremely large functions (#5997)
marxin Dec 23, 2025
318a72f
Fix a possible deadlock in Linker::is_closure
Arshia001 Dec 24, 2025
42c85f4
Fix crash when linking against modules that have TLS symbols but don'…
Arshia001 Dec 24, 2025
ecfe3ca
CI: fix and rename jobs on main (#5995)
marxin Jan 5, 2026
f280928
fix: properly report size after memory.reset (#5992)
marxin Jan 5, 2026
2986b7f
deps: bump wasm-smith and enable fuzzers (#5994)
marxin Jan 5, 2026
c910de2
fix(wasix): Fix wasip1 preopen handling for Go compatibility (#6009)
iamrajiv Jan 5, 2026
83c6f54
CI: add Cache step for more runs (#5984)
marxin Jan 5, 2026
c14da41
deps(rkyv): fix RUSTSEC-2026-0001 (#6013)
marxin Jan 5, 2026
e68dd4d
fix(build): Update webkit in flake.nix (#5999)
theduke Jan 5, 2026
db04d04
Disallow mounting folders on the guest's root for WASIX modules
Arshia001 Mar 12, 2025
7e7c28e
Fix relative_path_to_absolute
zebreus Jan 5, 2026
79171dc
Merge pull request #6012 from wasmerio/wasmer-rel-to-abs
zebreus Jan 5, 2026
13955b1
fix(cranelift): EH: ensure CatchAll is always present at the end of a…
marxin Jan 5, 2026
e3e4ae0
Revert LICENSE of Singlepass to previous one
syrusakbary Jan 5, 2026
9bb8bb7
Fix trap handler for FreeBSD for aarch64 (#6015)
kjozic Jan 6, 2026
df006a7
Remove ucontext_t definition for FreeBSD for aarch64 (#6016)
kjozic Jan 6, 2026
0de3304
CI(cranelift): fix macos x64 (#6014)
marxin Jan 6, 2026
30f0177
Fix typo in CompileError doc comment (#6019)
zebreus Jan 7, 2026
2016fcf
fix: provide unique function names (#5990)
marxin Jan 8, 2026
94bd102
deps: allow bincode in cargo-deny (RUSTSEC-2025-0141) (#6021)
marxin Jan 8, 2026
605fa70
fix(loongarch64,riscv64gc,aarch64): add missing relocations and fix E…
marxin Jan 8, 2026
975910e
Apply review comments and fix code
Arshia001 Jan 8, 2026
105fa1f
Turn the hard error into a warning in the name of backwards compatibi…
Arshia001 Jan 8, 2026
44265f6
Implement a fast path for Linker::is_closure
Arshia001 Jan 8, 2026
bd91673
Merge pull request #5475 from wasmerio/feat/disallow-mount-on-root
Arshia001 Jan 8, 2026
c50cd23
deps(inkwell): bump to 0.8.0 (#6025)
marxin Jan 9, 2026
f4d4106
chore: always use Rayon thread pool (even for one thread) (#6023)
marxin Jan 9, 2026
048fb90
fix(_Unwind_RaiseException): ignore return value as it's unreliable (…
marxin Jan 9, 2026
632bd96
fix: include endpoint URL in response cache location (#6022)
marxin Jan 9, 2026
ae62353
deps: bump used crates (#6027)
marxin Jan 9, 2026
402510d
Merge pull request #6008 from wasmerio/fix/linker-crash-tls-symbol-wi…
zebreus Jan 12, 2026
a562447
CI(aarch64-linux): include into testing matrix (#6018)
marxin Jan 12, 2026
5e8b747
fix: downgrade zip crate and run generate-lockfile (#6040)
marxin Jan 12, 2026
fcd7989
CI: disable v8 for linux-arm64 target (#6041)
marxin Jan 12, 2026
04622ae
Update CHANGELOG
marxin Jan 12, 2026
87480de
Release 7.0.0-alpha.1
marxin Jan 12, 2026
6b2741d
Rollback to previous license
syrusakbary Jan 12, 2026
edeeae5
Merge pull request #6044 from wasmerio/release-7.0.0-alpha.1
marxin Jan 12, 2026
a5732bf
Enable riscv32 target in LLVM compiler & relocations fixes (#6007)
wakabat Jan 13, 2026
2ff26f1
fix(make-release): use full pull (#6045)
marxin Jan 13, 2026
cd4e9ae
chore: fix publish issue (#6046)
marxin Jan 13, 2026
8de3580
Update CHANGELOG
marxin Jan 13, 2026
14bd068
Release 7.0.0-alpha.2
marxin Jan 13, 2026
46aa7bd
changelog: unlink C API
marxin Jan 13, 2026
491e881
feat: `--compiler-threads` supported by all compilers (#6043)
marxin Jan 13, 2026
e40f606
Merge pull request #6049 from wasmerio/release-7.0.0-alpha.2
marxin Jan 13, 2026
83d149f
SinglePass: add support for riscv64 target (#5711)
marxin Jan 14, 2026
bb75858
tests: add EH-related test (#6054)
marxin Jan 14, 2026
c1ddeb1
chore(singlepass): drop `riscv` feature (#6053)
marxin Jan 14, 2026
c09dd45
chore: code clean-up (#6047)
marxin Jan 15, 2026
33cef6b
CI: restore cache + free some disk space (#6068)
marxin Jan 15, 2026
d2ca411
CI: do not run test as part of binary build (#6056)
marxin Jan 16, 2026
7fda581
Progress reporting for module loading and compilation (#5883)
theduke Jan 16, 2026
be40009
chore: drop .cargo/config.toml (#6071)
marxin Jan 16, 2026
350a730
fix(wasix): handle empty subscription list in poll_oneoff and add tes…
artemyarulin Jan 18, 2026
1391b18
fix(LLVM): fix extmul_high/extmul_low operations (#6077)
marxin Jan 19, 2026
6e34a52
CI: run some tests for all compilers (#6030)
marxin Jan 19, 2026
840cfdf
tests: list known failing tests (#6029)
marxin Jan 19, 2026
5adbc49
add Rust tools to Nix development environment
Twey Jan 13, 2026
57b63c4
fix(LLVM): RISC-V rounding operations need an extra check (#6079)
marxin Jan 19, 2026
6c04041
tools: port make-release.py to format after Ruff + include RELEASE.md…
marxin Jan 19, 2026
c170038
deps: bump tungstenite-related crates (#6034)
marxin Jan 19, 2026
8954f0b
deps: bump cranelift version (#6081)
marxin Jan 19, 2026
012eab3
chore: use hex crate instead of custom format (#6036)
marxin Jan 20, 2026
894c9d7
fix(cli): package download: do not rely on `Content-Length` header (#…
marxin Jan 21, 2026
d43e078
Update lib/wasix/src/syscalls/wasi/poll_oneoff.rs
artemyarulin Jan 21, 2026
4188b1a
chore: delete empty files (#6085)
marxin Jan 21, 2026
411ac77
chore: get rid of static mut variables (#6088)
marxin Jan 21, 2026
05ef233
feat: replace `--mapdir` and `--map` with `--volume` argument (#6033)
marxin Jan 21, 2026
0b09c38
deps: bump criterion crate (#6035)
marxin Jan 21, 2026
3223b19
feature(cli): Use a new R2 upload mechanism for publishing packages (…
artemyarulin Jan 21, 2026
60c471d
chore: drop `xxhash` hashing algorithm (#6080)
marxin Jan 21, 2026
2243d0f
deps: bump zip crate (#6082)
marxin Jan 21, 2026
fd19919
fix(LLVM,macOS): fix compact unwinding bookkeeping (#6087)
marxin Jan 21, 2026
d2a7ec2
deps: bump Cranelift to 0.128.0 (#6090)
marxin Jan 21, 2026
e97aef9
fix: compact unwind info - use rangemap (#6091)
marxin Jan 22, 2026
81691ed
CI(docs.rs): not use --no-deps as a workaround (#6065)
marxin Jan 22, 2026
f3d21a3
fix(LLVM,riscv64): fix calling conventions for `i32` type (#6072)
marxin Jan 22, 2026
4ae6a22
feat: include module hash in `--compiler-debug-dir` path (#6042)
marxin Jan 22, 2026
c947a0e
build: Switch back to plain rust-toolchain file (#6096)
theduke Jan 22, 2026
2205fce
Merge pull request #6074 from wasmerio/fix/poll_oneoff_loop
zebreus Jan 22, 2026
b6d50c9
fix(fuzz): stabilization fixes + refactoring (#6094)
marxin Jan 22, 2026
7e95511
CI: skip tests on RISC-V and LoongArch64 (#6093)
marxin Jan 22, 2026
c894460
deps: bump MSRV to 1.91.1 (#6048)
marxin Jan 22, 2026
c1541e5
feat: Enable compressed package downloads
theduke Jan 15, 2026
dc40f0c
fix(Windows): resolve `probestack` relocation target (#6097)
marxin Jan 22, 2026
6debacb
fix: exception reference is i32 type (#6101)
marxin Jan 22, 2026
0218857
chore(test-wasix): use --volume instead of --dir argument (#6099)
marxin Jan 22, 2026
5a05974
fix(fuzz): fix also `deterministic` and `metering` targets (#6098)
marxin Jan 22, 2026
bac0f41
fix(macos-x64): restore unwind info (#6102)
marxin Jan 23, 2026
1e67d65
Add a better setup for copilot
zebreus Jan 15, 2026
7d44988
Update .github/workflows/copilot-setup-steps.yml
zebreus Jan 15, 2026
48c3984
Adjust copilot instructions
zebreus Jan 15, 2026
82b5bfd
Add cache stage for copilot
zebreus Jan 19, 2026
eca7147
Adjust setup steps
zebreus Jan 19, 2026
4020275
Adjust copilot instructions
zebreus Jan 19, 2026
a478151
Add wasm-tools to copilot setup
zebreus Jan 20, 2026
d9117da
Add creduce to the copilot setup
zebreus Jan 20, 2026
25f15ea
Document wasm specific tools in copilot instructions
zebreus Jan 20, 2026
597ad22
Update CHANGELOG
marxin Jan 23, 2026
56636fd
Release 7.0.0-rc.1
marxin Jan 23, 2026
5249ce9
CHANGELOG: drop duplicate entries
marxin Jan 23, 2026
abeca39
add release notes
marxin Jan 23, 2026
ade0b44
fix make-release.py listing of the merged PRs
marxin Jan 23, 2026
143dc50
Update CHANGELOG.md
marxin Jan 23, 2026
30a0c4d
Fix msrv selection
zebreus Jan 23, 2026
b625a4b
Merge pull request #6106 from wasmerio/release-7.0.0-rc.1
marxin Jan 23, 2026
3a238ed
Merge pull request #6066 from wasmerio/wasmer-setup-copilot-workflow
zebreus Jan 23, 2026
e19c451
fix(wasix): Restore proper webc v2 mount handling
theduke Jan 25, 2026
8f499fe
fix(docs.rs): fix documentation build (RC version of `sha2` crate) (#…
marxin Jan 26, 2026
6ecb4e4
fix(cranelift): support ::Exn (fix php/php-32 compilation) (#6109)
marxin Jan 26, 2026
37650e4
fix(LLVM): fixed ABI issues noticed while fuzzing (#6114)
marxin Jan 26, 2026
4b8531e
chore(fuzzing): small refactor (#6115)
marxin Jan 26, 2026
800d504
fix(LLVM): record try_table in unreachable_depth (#6117)
marxin Jan 26, 2026
92b49c7
Merge commit 'b625a4b960f60a8c192cae000cc151f544962578' into wasmer7
rory-ocl Jan 26, 2026
3a43936
Remove hardcoded MSRV in github actions (#6107)
zebreus Jan 27, 2026
3ba6922
chore(fuzzing): tweak options and save file early (#6120)
marxin Jan 27, 2026
40ff491
fix: do not use engine.new_module_with_progress for non-sys Engines (…
marxin Jan 27, 2026
b95a2ae
fix(LLVM): fix ABI related to pointer type (#6118)
marxin Jan 27, 2026
a51e474
feat(LLVM): use verbose asm output for debug output (#6119)
marxin Jan 27, 2026
fb45f60
Update CHANGELOG
marxin Jan 27, 2026
909473e
Release 7.0.0-rc.2
marxin Jan 27, 2026
71d21c0
Move release entry to the latest version
marxin Jan 27, 2026
5deb53c
Merge pull request #6124 from wasmerio/release-7.0.0-rc.2
marxin Jan 27, 2026
aa5016c
Fix copilot setup
zebreus Jan 27, 2026
aa8fcce
Also check that the correct clang is in the path
zebreus Jan 27, 2026
3f8aa0e
Merge pull request #6130 from wasmerio/fix-copilot-setup
zebreus Jan 27, 2026
db040f7
fix(virtual-fs): Fix read_dir missing mount prefix
artemyarulin Jan 27, 2026
7c45ad8
tests: Add additional test which shows the issue we got with duplicat…
artemyarulin Jan 27, 2026
9f550c2
build(v8): disable in the official tarballs (#6125)
marxin Jan 28, 2026
7e73e0a
Release 7.0.0 (#6133)
marxin Jan 28, 2026
196846d
fix(build): do not use legacy 1.0.3 mold release (#6136)
marxin Jan 28, 2026
c430cca
Merge commit '196846d3f7b6adcbbef1b6a6a484c71d3fcb6b1a' into wasmer7
rory-ocl Jan 30, 2026
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
  •  
  •  
  •  
1 change: 0 additions & 1 deletion .github/CODEOWNERS
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,6 @@ lib/compiler-cranelift @syrusakbary
lib/compiler-llvm
lib/compiler-singlepass @syrusakbary
lib/deprecated
lib/emscripten
lib/engine @syrusakbary
lib/engine-jit @syrusakbary
lib/engine-native @syrusakbary
Expand Down
16 changes: 16 additions & 0 deletions .github/actions/load_toolchain/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
name: Load Rust Toolchain
description: Load Rust toolchain from rust-toolchain file
outputs:
rust_toolchain:
description: The loaded Rust toolchain
value: ${{ steps.load_toolchain.outputs.rust_toolchain }}
runs:
using: composite
steps:
- name: Load toolchain
id: load_toolchain
shell: sh
run: |
# TODO: Actually parse this from Cargo.toml
rust_toolchain=$(head -n1 rust-toolchain | tr -d '\n')
echo "rust_toolchain=$rust_toolchain" >> $GITHUB_OUTPUT
50 changes: 50 additions & 0 deletions .github/copilot-instructions.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
# GitHub Copilot Instructions

## Code Writing Standards
- Follow established code-writing standards for your language (spacing, comments, naming).
- Consider internal coding rules for folder and function naming.
- Follow the "boy scout rule": Always leave the codebase cleaner than you found it.

## Comment Usage
- Use comments sparingly and make them meaningful.
- Avoid commenting on obvious things; use comments to explain "why" or unusual behavior.

## Conditional Encapsulation
- Encapsulate nested if/else statements into functions with descriptive names for clarity.

## DRY Principle
- Avoid code duplication; reuse code via functions, classes, modules, or libraries.
- Modify code in one place if updates are needed.

## Function Length & Responsibility
- Write short, focused functions (single responsibility principle).
- Break up long or complex functions into smaller ones.

## General Code Style & Readability
- Write readable, understandable, and maintainable code.
- Prioritize clarity and adhere to coding standards.
- Regularly review and refactor code for structure and maintainability.
- Use version control (e.g., Git) for collaboration.

## Naming Conventions
- Use meaningful, descriptive names for variables, functions, and classes.
- Names should reflect purpose and behavior; avoid names that require comments to explain intent.

## Making your changes pass CI
- Before submitting any changes
- Run the commands for formatting
- Run the linter command shown below
- Run tests for code you changed and everything that depends on it.
- CI will reject code with formatting or linting issues.

## Useful commands:
- Format the code: `cargo fmt`
- Lint and fix common mistakes: `RUSTFLAGS="-D dead-code -D nonstandard-style -D unused-imports -D unused-mut -D unused-variables -D unused-unsafe -D unreachable-patterns -D bad-style -D improper-ctypes -D unused-allocation -D unused-comparisons -D while-true -D unconditional-recursion -D bare-trait-objects -D function_item_references -D clippy::uninlined_format_args " cargo clippy --all --exclude wasmer-swift --locked --fix --allow-dirty -- -D clippy::all`
- Build the cli: `cargo build -p wasmer-cli --features cranelift,llvm,wasmer-artifact-create,static-artifact-create,wasmer-artifact-load,static-artifact-load`
- Test the cli: `cargo test -p wasmer-cli --features cranelift,llvm,wasmer-artifact-create,static-artifact-create,wasmer-artifact-load,static-artifact-load`
- Test WASIX: `cargo test -p wasmer-wasix --features sys`
- Convert a wasm module to wat (always limit the output with head/grep/tail): `wasm-tools print file.wasm`
- Convert a wat module to wasm: `wasm-tools parse file.wat -o file.wasm`
- For really hard debugging, creduce is available
- Optimize a wasm module and strip debug info: `wasm-opt -O3 file.wasm -o file.opt.wasm`
- Compile a C file to a WASIX module: `WASIXCC_WASM_EXCEPTIONS=1 WASIXCC_PIC=1 wasixcc -g -O0 file.c -o file.wasm`
10 changes: 8 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.74
RUN rustup -v toolchain install 1.91
# add docker the manual way
COPY install_docker.sh /
RUN /install_docker.sh
Expand Down Expand Up @@ -61,10 +61,16 @@ 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.74-x86_64-unknown-linux-gnu
RUN rustup target add riscv64gc-unknown-linux-gnu --toolchain 1.91-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 /
RUN /build_openssl.sh
ENV RISCV64GC_UNKNOWN_LINUX_GNU_OPENSSL_INCLUDE_DIR=/openssl_riscv64/include
ENV RISCV64GC_UNKNOWN_LINUX_GNU_OPENSSL_LIB_DIR=/openssl_riscv64/lib

RUN mkdir .cargo
COPY config.toml .cargo/config.toml
3 changes: 3 additions & 0 deletions .github/cross-linux-riscv64/config.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
[target.riscv64gc-unknown-linux-gnu]
linker = "riscv64-linux-gnu-gcc"
runner = "qemu-riscv64 -L /usr/riscv64-linux-gnu/"
2 changes: 1 addition & 1 deletion .github/pull_request_template.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<!--
Prior to submitting a PR, review the CONTRIBUTING.md document for recommendations on how to test:
https://github.com/wasmerio/wasmer/blob/main/CONTRIBUTING.md#pull-requests
https://github.com/wasmerio/wasmer/blob/main/docs/CONTRIBUTING.md#pull-requests

-->

Expand Down
15 changes: 6 additions & 9 deletions .github/workflows/benchmark.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -3,11 +3,10 @@ name: Run Benchmarks and upload results
on:
push:
branches:
- benchmark # TODO: change it back to main once we really track the results. We commented this as speed.wasmer.io is failing
- benchmark # TODO: change it back to main once we really track the results. We commented this as speed.wasmer.io is failing

env:
CARGO_REGISTRIES_CRATES_IO_PROTOCOL: git
MSRV: "1.74"

jobs:
run_benchmark:
Expand All @@ -20,15 +19,14 @@ jobs:
include:
- build: linux
os: ubuntu-latest
env:
SCCACHE_AZURE_BLOB_CONTAINER: wasmerstoragesccacheblob
SCCACHE_AZURE_CONNECTION_STRING: ${{ secrets.SCCACHE_AZURE_CONNECTION_STRING }}
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v6
- uses: ./.github/actions/load_toolchain
id: load_toolchain
- name: Install Rust
uses: dtolnay/rust-toolchain@stable
with:
toolchain: ${{ env.MSRV }}
toolchain: ${{ steps.load_toolchain.outputs.rust_toolchain }}
- name: Configure cargo data directory
# After this point, all cargo registry and crate data is stored in
# $GITHUB_WORKSPACE/.cargo_home. This allows us to cache only the files
Expand All @@ -53,7 +51,7 @@ jobs:
- name: Install LLVM (Linux)
if: matrix.os == 'ubuntu-latest'
run: |
curl --proto '=https' --tlsv1.2 -sSf https://github.com/llvm/llvm-project/releases/download/llvmorg-10.0.0/clang+llvm-10.0.0-x86_64-linux-gnu-ubuntu-18.04.tar.xz -L -o llvm.tar.xz
curl -H "Authorization: Bearer ${{ secrets.GITHUB_TOKEN }}" --retry 3 --proto '=https' --tlsv1.2 -sSf https://github.com/llvm/llvm-project/releases/download/llvmorg-10.0.0/clang+llvm-10.0.0-x86_64-linux-gnu-ubuntu-18.04.tar.xz -L -o llvm.tar.xz
mkdir -p /opt/llvm-10
tar xf llvm.tar.xz --strip-components=1 -C /opt/llvm-10
echo '/opt/llvm-10/bin' >> $GITHUB_PATH
Expand All @@ -72,4 +70,3 @@ jobs:
git clone https://github.com/wasmerio/wasmer-bench

python3 wasmer-bench/send_metrics.py

Loading
Loading