WasmEdgeUp
Note: This project is still in development and not yet ready for use.
wasmedgeup is a command-line tool for managing WasmEdge runtime installations and plugins across different operating systems and architectures.
Features
- Install and remove specific versions of the WasmEdge runtime
- List available WasmEdge runtime versions
- Install, list, and remove WasmEdge plugins
- Automatic cross-OS and cross-architecture detection
- Checksum verification for secure downloads
Installation
Requires the Rust toolchain (Cargo). If you don't have Cargo installed, install Rust via rustup: rustup.rs
1) Clone and build
2) Install the binary to your PATH
Linux
# For zsh users:
Open a new terminal (or run source ~/.bashrc / source ~/.zshrc) and verify:
macOS
Option A: user-local install
Option B: system-wide (may require sudo)
Then open a new terminal and run:
Windows (PowerShell)
cargo build --release
New-Item -Force -ItemType Directory "$env:USERPROFILE\.cargo\bin" | Out-Null
Copy-Item -Force target\release\wasmedgeup.exe "$env:USERPROFILE\.cargo\bin\"
# Ensure the directory is on PATH (per-user)
[Environment]::SetEnvironmentVariable(
'Path',
[Environment]::GetEnvironmentVariable('Path','User') + ";$env:USERPROFILE\\.cargo\\bin",
'User'
)
# Restart your terminal, then:
wasmedgeup --help
Usage
Please refer to the specification for detailed usage instructions.
Release Process
Releases are automated via Knope and GitHub Actions.
-
Push to
master— theprepare-releaseworkflow runsknope prepare-release, which:- Scans conventional commits since the last release
- Bumps the version in
Cargo.toml/Cargo.lock - Updates
CHANGELOG.md - Opens (or updates) a PR from the
releasebranch tomaster
-
Merge the release PR — the
releaseworkflow builds artifacts for all platforms, then runsknope releaseto publish the GitHub release with attached binaries. The crate is then published to crates.io.
If a push contains no releasable changes (e.g. chore(deps): bumps only), the prepare-release step exits gracefully and no PR is created.
Prerequisites
- A Personal Access Token stored as the repository secret
PATwithcontents: writeandpull-requests: writescopes. This is required so the release PR triggers CI checks. - Trusted publishing configured on crates.io for the
wasmedgeupcrate (no secret needed — uses GitHub OIDC).
License
This project is licensed under the Apache License 2.0 - see the LICENSE file for details.