Skip to content

Add Native Auto Splitter Runtime Support#135

Draft
CryZe wants to merge 1 commit into
masterfrom
native-runtime
Draft

Add Native Auto Splitter Runtime Support#135
CryZe wants to merge 1 commit into
masterfrom
native-runtime

Conversation

@CryZe

@CryZe CryZe commented Jun 23, 2026

Copy link
Copy Markdown
Collaborator

Summary

This adds native execution support for auto splitters without changing the existing WebAssembly import API. Native builds can use platform process access directly from asr, while timer integration, logging, settings, and tick scheduling are delegated to a host-provided runtime trait.

The GitHub Actions build workflow now also builds the crate natively on stable and nightly with no default features, default features, and all features. This keeps native regressions covered alongside the existing WebAssembly targets.

The workflows now use rustup directly instead of the deprecated Rust setup action.

Validation

  • cargo check --all-features
  • cargo test --all-features --lib
  • cargo clippy --lib
  • cargo check --target wasm32-unknown-unknown
  • cargo check --target wasm32-unknown-unknown --features alloc
  • cargo check --target wasm32-unknown-unknown --all-features
  • cargo check --target wasm32-wasip1
  • cargo check --target wasm32-wasip1 --features alloc,wasi-no-std
  • cargo check --target wasm32-wasip1 --all-features
  • cargo build --no-default-features
  • cargo build
  • cargo build --all-features

Notes: the local runs still emit the existing wasi semver metadata warning, existing wasi_no_std.rs warnings on WASI all-features, and Windows incremental compilation cleanup warnings.

This allows auto splitters to run outside the WebAssembly sandbox as
native programs while keeping the existing WebAssembly import API intact.

Native builds use platform process access directly and delegate timer
integration, logging, settings, and tick scheduling through a
host-provided runtime trait. The CI now builds native targets explicitly
so native regressions are caught alongside the existing WebAssembly
coverage.

The workflows use rustup directly instead of the deprecated Rust setup
action.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant