Files
wifi-densepose/vendor/ruvector/scripts/publish/publish-router-wasm.sh

81 lines
2.0 KiB
Bash
Executable File

#!/bin/bash
# Script to publish router-wasm v0.1.1 to crates.io
# This script waits for router-core v0.1.1 to be available
set -e
echo "=========================================="
echo "router-wasm v0.1.1 Publication Script"
echo "=========================================="
echo ""
# Load environment variables
if [ -f /workspaces/ruvector/.env ]; then
echo "✓ Loading CRATES_API_KEY from .env..."
export $(grep "^CRATES_API_KEY=" /workspaces/ruvector/.env | xargs)
else
echo "✗ Error: .env file not found"
exit 1
fi
if [ -z "$CRATES_API_KEY" ]; then
echo "✗ Error: CRATES_API_KEY not found in .env"
exit 1
fi
echo "✓ CRATES_API_KEY loaded"
echo ""
# Step 1: Wait for router-core v0.1.1
echo "Step 1: Checking for router-core v0.1.1..."
MAX_ATTEMPTS=30
ATTEMPT=0
while [ $ATTEMPT -lt $MAX_ATTEMPTS ]; do
ATTEMPT=$((ATTEMPT + 1))
echo " Check $ATTEMPT/$MAX_ATTEMPTS ($(date +%H:%M:%S))"
if cargo search router-core 2>&1 | grep -q "router-core.*0\.1\.1"; then
echo "✓ router-core v0.1.1 found on crates.io!"
break
fi
if [ $ATTEMPT -eq $MAX_ATTEMPTS ]; then
echo "✗ Timeout: router-core v0.1.1 not found after $MAX_ATTEMPTS attempts"
echo " Current version: $(cargo search router-core 2>&1 | grep "router-core =" | head -1)"
exit 1
fi
sleep 10
done
echo ""
# Step 2: Login to crates.io
echo "Step 2: Logging in to crates.io..."
cargo login "$CRATES_API_KEY"
echo "✓ Successfully logged in"
echo ""
# Step 3: Navigate to router-wasm directory
echo "Step 3: Navigating to router-wasm directory..."
cd /workspaces/ruvector/crates/router-wasm
echo "✓ Current directory: $(pwd)"
echo ""
# Step 4: Verify package
echo "Step 4: Verifying package..."
cargo package --list --allow-dirty | head -20
echo "..."
echo ""
# Step 5: Publish
echo "Step 5: Publishing router-wasm v0.1.1..."
echo ""
cargo publish --allow-dirty
echo ""
echo "=========================================="
echo "✓ SUCCESS: router-wasm v0.1.1 published!"
echo "=========================================="