All crates share one version, set by workspace.package.version in the root
Cargo.toml.
- Bump
workspace.package.version, runcargo check --workspaceto updateCargo.lock, then commit. - Tag the commit and publish a GitHub release for the tag.
- The
Releaseworkflow runs onreleasedand uploads:- one archive per platform, with all nine binaries inside, plus a
.sha256file for each - one
.debper tool, foramd64andarm64
- one archive per platform, with all nine binaries inside, plus a
The workflow builds Linux archives on ubuntu-22.04 to keep the glibc
requirement low. If that runner image goes away, move to the next oldest one.
Publish in this order, because each step depends on the one before it:
cargo publish -p ares-device-lib
cargo publish -p ares-connection-lib
for p in ares-package ares-install ares-launch ares-device ares-shell \
ares-push ares-pull ares-setup-device ares-novacom; do
cargo publish -p "$p"
doneWait for the index to pick up each library before you publish the crates that depend on it.