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