Files
brk/scripts/rust-publish.sh
2026-02-13 21:16:35 +01:00

53 lines
1021 B
Bash
Executable File

#!/bin/bash
set -e
# Order determined by topological sort of dependency graph
CRATES=(
brk_alloc
brk_error
brk_logger
brk_types
brk_fetcher
brk_rpc
brk_mempool
brk_reader
brk_iterator
brk_store
brk_traversable_derive
brk_traversable
brk_bencher
brk_cohort
brk_indexer
brk_oracle
brk_computer
brk_query
brk_bindgen
brk_website
brk_server
brk_client
brk
brk_cli
)
SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)"
CRATES_DIR="$SCRIPT_DIR/../crates"
cd "$CRATES_DIR" || { echo "Failed to cd to crates directory"; exit 1; }
echo "Working from: $(pwd)"
for crate in "${CRATES[@]}"; do
cd "$crate"
cargo publish --allow-dirty --color=always 2>&1 | tee /tmp/publish_$$.log
if [ ${PIPESTATUS[0]} -ne 0 ]; then
if ! grep -q "already exists on" /tmp/publish_$$.log; then
rm -f /tmp/publish_$$.log
exit 1
fi
fi
rm -f /tmp/publish_$$.log
cd ..
echo ""
done
echo "Done!"