Files
RustBox/docs/RELEASING.md
T
2026-10-31 14:36:07 +01:00

1.4 KiB

Releasing RustBox

  1. Update the version in Cargo.toml and the RustBox package entry in Cargo.lock.
  2. Confirm UPSTREAM_BASE is the Oxi revision actually consumed by the release.
  3. Ensure no TypeScript sources or separate frontend build dependencies are present.
  4. Run:
cargo fmt --all -- --check
cargo test --locked
cargo clippy --locked --all-targets -- -D warnings
./scripts/build-release.sh
  1. Verify:
./target/release/rustbox --version
RUSTBOX_CONFIG=./config.dev.toml ./target/release/rustbox --check-config
  1. Package the repository without target/, .dev/ or .git/.
  2. Generate SHA-256 sums for release archives.

Browser asset build

Browser JavaScript source lives in functional modules under src/web/js/, ordered by src/web/js/manifest.txt. build.rs concatenates those modules into the embedded rustbox-ui.js asset during every Cargo build. The repository has no duplicate ui/ snapshot; src/web/ is the only browser UI source.

Updating an existing checkout to 0.2.0

Do not overlay the release with cp * or another command that skips dotfiles. That can retain stale .github, .env.example, or Cargo.lock files.

Use a clean checkout/extraction, or a dotfile-aware copy such as rsync -a / cp -a source/. destination/. The source release intentionally does not ship Cargo.lock; CI and scripts/build-release.sh generate it before running --locked Cargo commands.