wifi-densepose/vendor/midstream/publish_midstreamer_crates.sh

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)"