tawasuyu/llimphi
Sovereign retained-mode GPU UI framework in Rust (wgpu+vello+taffy+parley), Elm loop, 40+ widgets.
chore: publish con --no-verify (evita disco lleno por recompilar cada crate)
1#!/usr/bin/env bash
2# Publica llimphi a crates.io en orden de dependencias.
3# Reintenta en rate-limit (429, espera 11min) y en errores de red transitorios (30s).
4# Reanudable: salta los ya publicados. Uso: cargo login <token> && ./publish-crates.sh
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" --no-verify 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 elif echo "$out" | grep -qiE "429|Too Many Requests|rate.?limit"; then
15 echo " rate-limit; espero 11 min…"; sleep 660; continue
16 elif echo "$out" | grep -qiE "curl failed|HTTP2|http2|download of .* failed|failed to get|connection|timed out|temporary failure|spurious|error sending request|reset by peer|EOF while"; then
17 echo " error de red transitorio; espero 30s y reintento…"; sleep 30; continue
18 else
19 echo "$out" | tail -8; echo "!!! error real en $c — corregir y re-correr"; exit 1
20 fi
21 done
22 sleep 3
23done < PUBLISH-ORDER.txt
24echo "=== TODO PUBLICADO ==="