Files
wifi-densepose/scripts/publish-rvf.sh
ruv d803bfe2b1 Squashed 'vendor/ruvector/' content from commit b64c2172
git-subtree-dir: vendor/ruvector
git-subtree-split: b64c21726f2bb37286d9ee36a7869fef60cc6900
2026-02-28 14:39:40 -05:00

57 lines
1.4 KiB
Bash
Executable File

#!/usr/bin/env bash
# Publish all RVF crates to crates.io in dependency order.
# Usage: ./scripts/publish-rvf.sh [--dry-run]
#
# Publishing order (each crate depends on those before it):
# 1. rvf-types (no internal deps)
# 2. rvf-wire (depends on rvf-types)
# 3. rvf-manifest (depends on rvf-types)
# 4. rvf-index (no internal deps currently)
# 5. rvf-quant (depends on rvf-types)
# 6. rvf-crypto (depends on rvf-types)
# 7. rvf-runtime (depends on rvf-types)
# 8. rvf-wasm (depends on rvf-types)
# 9. rvf-node (depends on rvf-runtime, rvf-types)
# 10. rvf-server (depends on rvf-runtime, rvf-types)
set -euo pipefail
DRY_RUN=""
if [[ "${1:-}" == "--dry-run" ]]; then
DRY_RUN="--dry-run"
echo "=== DRY RUN MODE ==="
fi
CRATES_DIR="$(cd "$(dirname "$0")/../crates/rvf" && pwd)"
DELAY_SECONDS=30
CRATES=(
rvf-types
rvf-wire
rvf-manifest
rvf-index
rvf-quant
rvf-crypto
rvf-runtime
rvf-wasm
rvf-node
rvf-server
)
for crate in "${CRATES[@]}"; do
echo ""
echo "=== Publishing ${crate} ==="
cargo publish \
--manifest-path "${CRATES_DIR}/${crate}/Cargo.toml" \
--allow-dirty \
${DRY_RUN}
if [[ -z "${DRY_RUN}" ]]; then
echo "Waiting ${DELAY_SECONDS}s for crates.io index to update..."
sleep "${DELAY_SECONDS}"
fi
done
echo ""
echo "=== All RVF crates published successfully ==="