90 lines
3.1 KiB
Bash
90 lines
3.1 KiB
Bash
#!/bin/bash
|
|
set -e
|
|
|
|
# Read token from .env
|
|
export CARGO_REGISTRY_TOKEN=$(grep "^CRATES_API_KEY=" .env | cut -d'=' -f2)
|
|
|
|
echo "🚀 Publishing Midstreamer Platform crates to crates.io"
|
|
echo "======================================================"
|
|
echo ""
|
|
echo "This will publish 6 core Midstreamer crates in dependency order."
|
|
echo "Total estimated time: ~30 minutes"
|
|
echo ""
|
|
|
|
# Phase 1: Foundation crates (no dependencies on unpublished crates)
|
|
echo "📦 PHASE 1: Foundation Crates (4 crates, ~20 minutes)"
|
|
echo "========================================================"
|
|
echo ""
|
|
|
|
# 1. midstreamer-temporal-compare (no deps)
|
|
echo "[1/6] Publishing midstreamer-temporal-compare..."
|
|
cd /workspaces/midstream/crates/temporal-compare
|
|
cargo publish --token "$CARGO_REGISTRY_TOKEN"
|
|
echo "✅ midstreamer-temporal-compare v0.1.0 published"
|
|
echo ""
|
|
echo "⏳ Waiting 180 seconds for crates.io indexing..."
|
|
sleep 180
|
|
|
|
# 2. midstreamer-scheduler (no deps)
|
|
echo "[2/6] Publishing midstreamer-scheduler..."
|
|
cd /workspaces/midstream/crates/nanosecond-scheduler
|
|
cargo publish --token "$CARGO_REGISTRY_TOKEN"
|
|
echo "✅ midstreamer-scheduler v0.1.0 published"
|
|
echo ""
|
|
echo "⏳ Waiting 180 seconds for crates.io indexing..."
|
|
sleep 180
|
|
|
|
# 3. midstreamer-neural-solver (depends on midstreamer-scheduler)
|
|
echo "[3/6] Publishing midstreamer-neural-solver..."
|
|
cd /workspaces/midstream/crates/temporal-neural-solver
|
|
cargo publish --token "$CARGO_REGISTRY_TOKEN"
|
|
echo "✅ midstreamer-neural-solver v0.1.0 published"
|
|
echo ""
|
|
echo "⏳ Waiting 180 seconds for crates.io indexing..."
|
|
sleep 180
|
|
|
|
# 4. midstreamer-attractor (depends on midstreamer-temporal-compare)
|
|
echo "[4/6] Publishing midstreamer-attractor..."
|
|
cd /workspaces/midstream/crates/temporal-attractor-studio
|
|
cargo publish --token "$CARGO_REGISTRY_TOKEN"
|
|
echo "✅ midstreamer-attractor v0.1.0 published"
|
|
echo ""
|
|
echo "⏳ Waiting 180 seconds for crates.io indexing..."
|
|
sleep 180
|
|
|
|
# Phase 2: Advanced crates
|
|
echo ""
|
|
echo "📦 PHASE 2: Advanced Crates (2 crates, ~10 minutes)"
|
|
echo "====================================================="
|
|
echo ""
|
|
|
|
# 5. midstreamer-quic (no deps)
|
|
echo "[5/6] Publishing midstreamer-quic..."
|
|
cd /workspaces/midstream/crates/quic-multistream
|
|
cargo publish --token "$CARGO_REGISTRY_TOKEN"
|
|
echo "✅ midstreamer-quic v0.1.0 published"
|
|
echo ""
|
|
echo "⏳ Waiting 180 seconds for crates.io indexing..."
|
|
sleep 180
|
|
|
|
# 6. midstreamer-strange-loop (depends on all above)
|
|
echo "[6/6] Publishing midstreamer-strange-loop..."
|
|
cd /workspaces/midstream/crates/strange-loop
|
|
cargo publish --token "$CARGO_REGISTRY_TOKEN"
|
|
echo "✅ midstreamer-strange-loop v0.1.0 published"
|
|
echo ""
|
|
|
|
echo "🎉 All Midstreamer crates published successfully!"
|
|
echo ""
|
|
echo "Published crates:"
|
|
echo " 1. midstreamer-temporal-compare v0.1.0"
|
|
echo " 2. midstreamer-scheduler v0.1.0"
|
|
echo " 3. midstreamer-neural-solver v0.1.0"
|
|
echo " 4. midstreamer-attractor v0.1.0"
|
|
echo " 5. midstreamer-quic v0.1.0"
|
|
echo " 6. midstreamer-strange-loop v0.1.0"
|
|
echo ""
|
|
echo "View at: https://crates.io/search?q=midstreamer"
|
|
echo ""
|
|
echo "✅ Ready to publish AIMDS crates (aimds-detection, aimds-analysis, aimds-response)"
|