Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
70 commits
Select commit Hold shift + click to select a range
708702a
feat: update client
Robert-MacWha Dec 22, 2025
c64a3ae
feat: working native wasmer
Robert-MacWha Dec 22, 2025
2530462
feat: switch to wasmer-wasix
Robert-MacWha Dec 22, 2025
e67b04b
feat: mostly-working web worker wasm
Robert-MacWha Dec 24, 2025
4672188
fix: Fix native & remove wasmer-wasix
Robert-MacWha Dec 24, 2025
f596e77
fix: native benchmark
Robert-MacWha Dec 24, 2025
e49a585
feat: wasm-pack benchmarks
Robert-MacWha Dec 24, 2025
4db1360
feat: update ci
Robert-MacWha Dec 24, 2025
75ac57a
fix: native benchmark
Robert-MacWha Dec 24, 2025
d9a4dff
add dummy assets to CI
Robert-MacWha Dec 24, 2025
98595ba
feat: make separate fully-async host transport
Robert-MacWha Dec 24, 2025
fb6b8b2
feat: sync-capable reactor transport for wasi guests
Robert-MacWha Dec 24, 2025
ee76e3e
feat: pre-compile and transfer Module to workers
Robert-MacWha Dec 24, 2025
bfc6d62
fix: native_sleep
Robert-MacWha Dec 24, 2025
e97e4eb
feat: impl worker pool
Robert-MacWha Dec 25, 2025
650be5a
fix: wasi transport race condition
Robert-MacWha Dec 25, 2025
e28dd5b
remove call_many from transport
Robert-MacWha Dec 25, 2025
bf86d6b
feat: re-use SABs across all runs
Robert-MacWha Dec 25, 2025
424c4d9
clippy
Robert-MacWha Dec 25, 2025
d482f17
add stderr to worker_runtime
Robert-MacWha Dec 25, 2025
da9e168
re-enable test-sleep for wasm
Robert-MacWha Dec 25, 2025
bb06383
disable test_sleep for wasm
Robert-MacWha Dec 25, 2025
4d45c8f
change default timeout to 10s
Robert-MacWha Dec 25, 2025
97bb31d
feat: possibly fix worker shared pipe race condition
Robert-MacWha Dec 26, 2025
adf6a80
todo
Robert-MacWha Dec 26, 2025
1ba053c
fix: remove bench logs
Robert-MacWha Dec 26, 2025
73d71b1
clippy
Robert-MacWha Dec 26, 2025
b595108
feat: working worker pool
Robert-MacWha Dec 27, 2025
d55b64e
feat: wasi over shared worker pool
Robert-MacWha Dec 27, 2025
95acd81
feat: fixed benchmark
Robert-MacWha Dec 27, 2025
3b752da
fix: disable global console.logs in worker
Robert-MacWha Dec 27, 2025
fb3f2d9
update test timeouts
Robert-MacWha Dec 27, 2025
279bd94
feat: shared pre-compiled modules across workers
Robert-MacWha Dec 27, 2025
71c2858
fix: bench-native
Robert-MacWha Dec 27, 2025
98d1658
style: clippy
Robert-MacWha Dec 27, 2025
5c893cf
refactor: remove ready channel
Robert-MacWha Dec 27, 2025
9ef2a57
refactor: make worker_pool mod
Robert-MacWha Dec 27, 2025
1bc32cb
fix: disable worker_pool on native
Robert-MacWha Dec 27, 2025
d342cdc
clippy
Robert-MacWha Dec 27, 2025
d8a0fae
feat add transport trait
Robert-MacWha Dec 27, 2025
23af9ec
fix: make transport traits generic
Robert-MacWha Dec 27, 2025
c565063
refactor: update traits
Robert-MacWha Dec 28, 2025
21d62e4
refactor: transport
Robert-MacWha Dec 28, 2025
a019b73
refactor
Robert-MacWha Dec 28, 2025
b0f845c
tidy
Robert-MacWha Dec 29, 2025
e80739f
style: shell.nix
Robert-MacWha Dec 29, 2025
1537979
wip
Robert-MacWha Dec 29, 2025
e10ae8b
docs
Robert-MacWha Dec 29, 2025
92e5fe0
feat: working coordinator architecture
Robert-MacWha Dec 30, 2025
732fa5d
fix: add transfer lists
Robert-MacWha Dec 30, 2025
04c6e3c
style: clippy
Robert-MacWha Dec 30, 2025
8151f03
refactor: Simplify crates to reduce dep requirements
Robert-MacWha Dec 30, 2025
fa69120
style: tidy
Robert-MacWha Dec 30, 2025
995fb5f
style: remove depricated CI step
Robert-MacWha Dec 30, 2025
7efa232
ci: add rust cache
Robert-MacWha Dec 30, 2025
0b9bea4
style: logs
Robert-MacWha Dec 30, 2025
edda933
refactor: improve
Robert-MacWha Dec 30, 2025
9164189
feat: call_many
Robert-MacWha Dec 30, 2025
b2d1f1b
fix: make host session channel-based
Robert-MacWha Dec 31, 2025
f5de7c9
refactor: improved non_blocking_pipe reads
Robert-MacWha Dec 31, 2025
9dc2eb0
perf: Add wasm-opt and enable release optimizations
Robert-MacWha Dec 31, 2025
a9a1eab
refactor: don't transfer wasm_bytes to coordinator / worker
Robert-MacWha Dec 31, 2025
b3f3592
tidy: logs
Robert-MacWha Jan 1, 2026
aae13f3
fix: hdk session reader race condition
Robert-MacWha Jan 1, 2026
30ce0bf
fix: switch to tokio executor
Robert-MacWha Jan 8, 2026
562b90b
feat: replace `PluginId` with `InstanceId` in `HostHandler`
Robert-MacWha Jan 10, 2026
b445fec
feat: include assets in repo
Robert-MacWha Jan 16, 2026
60ad1bb
feat: artifact checker
Robert-MacWha Jan 16, 2026
758e504
switch to nix flake
Robert-MacWha May 22, 2026
d2af0fd
feat: switch to atomics-based impl for wasm
Robert-MacWha May 22, 2026
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
18 changes: 16 additions & 2 deletions .cargo/config.toml
Original file line number Diff line number Diff line change
@@ -1,3 +1,17 @@
[target.wasm32-unknown-unknown]
rustflags = ['--cfg', 'getrandom_backend="wasm_js"']
runner = 'wasm-bindgen-test-runner'
rustflags = [
"--cfg", "getrandom_backend=\"wasm_js\"",
"-C", "target-feature=+atomics,+bulk-memory",
"-C", "link-arg=--shared-memory",
"-C", "link-arg=--max-memory=1073741824",
"-C", "link-arg=--import-memory",
"-C", "link-arg=--export=__heap_base",
"-C", "link-arg=--export=__wasm_init_tls",
"-C", "link-arg=--export=__tls_size",
"-C", "link-arg=--export=__tls_align",
"-C", "link-arg=--export=__tls_base"
]
runner = "wasm-bindgen-test-runner"

[unstable]
build-std = ["std", "panic_abort"]
95 changes: 41 additions & 54 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,70 +14,57 @@ jobs:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Install Nix
uses: DeterminateSystems/nix-installer-action@v14
- name: Magic Nix Cache
uses: DeterminateSystems/magic-nix-cache-action@v8
- name: Rust Cache
uses: Swatinem/rust-cache@v2

- uses: dtolnay/rust-toolchain@stable
with:
targets: wasm32-wasip1

- uses: Swatinem/rust-cache@v2

- name: Build plugin
run: cargo build --target wasm32-wasip1 -p test-plugin --release

- name: Optimize Wasm
uses: NiklasEi/wasm-opt-action@v2
with:
file: target/wasm32-wasip1/release/*.wasm
optimize_all: true

- run: cargo build
- run: cargo test
- run: cargo bench
- run: nix-shell --run "make test-native"
- run: nix-shell --run "make bench-native"

test-wasm:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4

- uses: dtolnay/rust-toolchain@stable
with:
targets: wasm32-wasip1, wasm32-unknown-unknown

- uses: Swatinem/rust-cache@v2

- name: Build plugin
run: cargo build --target wasm32-wasip1 -p test-plugin --release

- name: Optimize Wasm
uses: NiklasEi/wasm-opt-action@v2
with:
file: target/wasm32-wasip1/release/*.wasm
optimize_all: true

- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: '20'

- uses: jetli/wasm-bindgen-action@v0.2.0

- run: cargo build
- run: cargo test
- run: cargo bench
- name: Install Nix
uses: DeterminateSystems/nix-installer-action@v14
- name: Magic Nix Cache
uses: DeterminateSystems/magic-nix-cache-action@v8
- name: Rust Cache
uses: Swatinem/rust-cache@v2

- run: nix-shell --run "make test-wasm"
- run: nix-shell --run "make bench-wasm"

clippy:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Install Nix
uses: DeterminateSystems/nix-installer-action@v14
- name: Magic Nix Cache
uses: DeterminateSystems/magic-nix-cache-action@v8
- name: Rust Cache
uses: Swatinem/rust-cache@v2

- uses: dtolnay/rust-toolchain@stable
with:
targets: wasm32-wasip1

- uses: Swatinem/rust-cache@v2
- run: nix-shell --run "make clippy-native"
- run: nix-shell --run "make clippy-wasm"

- name: Build plugin
run: cargo build --target wasm32-wasip1 -p test-plugin --release

- name: Run Clippy
run: cargo clippy --workspace --all-targets -- -D warnings
check-artifacts:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Install Nix
uses: DeterminateSystems/nix-installer-action@v14
- name: Magic Nix Cache
uses: DeterminateSystems/magic-nix-cache-action@v8
- name: Rust Cache
uses: Swatinem/rust-cache@v2

- name: Rebuild Wasm Artifacts
run: nix-shell --run "make build-all"

- name: Ensure Artifacts Match Source
run: git diff --exit-code
2 changes: 1 addition & 1 deletion .gitignore
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
/target
target/
.direnv
.envrc
6 changes: 6 additions & 0 deletions .vscode/settings.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
{
"rust-analyzer.cargo.target": "wasm32-unknown-unknown",
"rust-analyzer.check.targets": "wasm32-unknown-unknown",
"rust-analyzer.cargo.features": "all",
"rust-analyzer.procMacro.enable": true
}
Loading
Loading