wasmedgeup 0.1.3

An installer for the Wasmedge runtime and plugins.
Documentation

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

git clone https://github.com/WasmEdge/wasmedgeup.git
cd wasmedgeup
cargo build --release

2) Install the binary to your PATH

Linux

mkdir -p "$HOME/.local/bin"
cp target/release/wasmedgeup "$HOME/.local/bin/"
echo 'export PATH="$HOME/.local/bin:$PATH"' >> "$HOME/.bashrc"
# For zsh users:
echo 'export PATH="$HOME/.local/bin:$PATH"' >> "$HOME/.zshrc"

Open a new terminal (or run source ~/.bashrc / source ~/.zshrc) and verify:

wasmedgeup --help

macOS

Option A: user-local install

mkdir -p "$HOME/.local/bin"
cp target/release/wasmedgeup "$HOME/.local/bin/"
echo 'export PATH="$HOME/.local/bin:$PATH"' >> "$HOME/.zshrc"

Option B: system-wide (may require sudo)

sudo cp target/release/wasmedgeup /usr/local/bin/

Then open a new terminal and run:

wasmedgeup --help

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.

  1. Push to master — the prepare-release workflow runs knope 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 release branch to master
  2. Merge the release PR — the release workflow builds artifacts for all platforms, then runs knope release to 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 PAT with contents: write and pull-requests: write scopes. This is required so the release PR triggers CI checks.
  • Trusted publishing configured on crates.io for the wasmedgeup crate (no secret needed — uses GitHub OIDC).

License

This project is licensed under the Apache License 2.0 - see the LICENSE file for details.