gioser

tawasuyu/llimphi

Sovereign retained-mode GPU UI framework in Rust (wgpu+vello+taffy+parley), Elm loop, 40+ widgets.

Rust 229TOML 101Markdown 82Shell 24052 Sutichaykuna

chore: publish-crates.sh espera/reintenta en rate-limit (429)

efe361545d1db7a0857771dc6db4da1aed997289 · ruwaq Sergio · (4 killa ñawpaq) · tayta 993b7625b · kay commitpi sach'ata qhaway

Semántico sayk'uy

Mana ima sutichaypas t'ikrakurqanchu: qillqalla, yachachiylla utaq willaylla t'ikrakurqan.

1 qillqakuna · +13 −20

diff --git a/publish-crates.sh b/publish-crates.sh
index 77237ae..2d235ae 100755
--- a/publish-crates.sh
+++ b/publish-crates.sh
@@ -1,29 +1,22 @@
 #!/usr/bin/env bash
-# Publica llimphi a crates.io en orden de dependencias (deps primero).
-#
-# ANTES de correr (una sola vez):
-#   1) Andá a https://crates.io/settings/tokens y creá un token (login con GitHub).
-#   2) cargo login <tu-token>
-#
-# Después: ./publish-crates.sh
-# Es reanudable: si se corta (rate-limit, red), volvé a correrlo — los ya
-# publicados se saltan solos.
+# Publica llimphi a crates.io en orden de dependencias, esperando solo en rate-limit.
+# REQUIERE: cargo login <token>  (una vez).  Uso: ./publish-crates.sh
+# Reanudable: salta los ya publicados; en 429 espera 11 min y reintenta el mismo.
 set -u
 cd "$(dirname "$0")"
 while read -r c; do
   [ -z "$c" ] && continue
-  echo ">>> publicando $c"
-  if out=$(cargo publish -p "$c" 2>&1); then
-    echo "    ok"
-  else
-    if echo "$out" | grep -qiE "already (been )?uploaded|already exists|crate version .* is already"; then
-      echo "    (ya estaba publicado, sigo)"
-    else
-      echo "$out" | tail -8
-      echo "!!! se detuvo en: $c  — revisá el error de arriba, arreglá y re-corré el script"
-      exit 1
+  while true; do
+    echo ">>> publicando $c"
+    if out=$(cargo publish -p "$c" 2>&1); then echo "    ok"; break; fi
+    if echo "$out" | grep -qiE "already (been )?uploaded|already exists|is already"; then
+      echo "    (ya estaba, sigo)"; break
     fi
-  fi
+    if echo "$out" | grep -qiE "429|Too Many Requests|rate.?limit"; then
+      echo "    rate-limit; espero 11 min y reintento $c…"; sleep 660; continue
+    fi
+    echo "$out" | tail -8; echo "!!! error real en $c — corregir y re-correr"; exit 1
+  done
   sleep 3
 done < PUBLISH-ORDER.txt
 echo "=== TODO PUBLICADO ==="