tawasuyu/llimphi
Sovereign retained-mode GPU UI framework in Rust (wgpu+vello+taffy+parley), Elm loop, 40+ widgets.
chore: publish-crates.sh espera/reintenta en rate-limit (429)
1#!/usr/bin/env bash
2# Publica llimphi a crates.io en orden de dependencias, esperando solo en rate-limit.
3# REQUIERE: cargo login <token> (una vez). Uso: ./publish-crates.sh
4# Reanudable: salta los ya publicados; en 429 espera 11 min y reintenta el mismo.
5set -u
6cd "$(dirname "$0")"
7while read -r c; do
8 [ -z "$c" ] && continue
9 while true; do
10 echo ">>> publicando $c"
11 if out=$(cargo publish -p "$c" 2>&1); then echo " ok"; break; fi
12 if echo "$out" | grep -qiE "already (been )?uploaded|already exists|is already"; then
13 echo " (ya estaba, sigo)"; break
14 fi
15 if echo "$out" | grep -qiE "429|Too Many Requests|rate.?limit"; then
16 echo " rate-limit; espero 11 min y reintento $c…"; sleep 660; continue
17 fi
18 echo "$out" | tail -8; echo "!!! error real en $c — corregir y re-correr"; exit 1
19 done
20 sleep 3
21done < PUBLISH-ORDER.txt
22echo "=== TODO PUBLICADO ==="