Frame rate: full-width PSRAM draw band (6 bands a frame instead of 14 on the T-Deck), the still aurora drawn once and copied, LVGL at -O2 with its blend and label loops in IRAM (scripts/build/perf_lvgl.py, 1 KB more loop stack), circle and gradient caches, newlib memcpy. Rolled out to the M9, Attaky, RAK, Wio, CrowPanel and V4-R8; the Pager gets the band only, the V4 the caches only. Frame benchmark tour (DOC_PERF_BENCH) for measuring it. Fixes: hop counts read from the packed path length (#621); Arabic shaping rows patched in LVGL (patch_lvgl_arabic.py), Arabic 101 shift layer, kaf, symbols, text sent as standard letters (#582); info popup colour runs that never wrap (#602); keypad nav reaches the chat header (#623); the browser opens the changelog (#622, gen-changelog.py at every site deploy); the Theme background colour picker no longer edits the accent; flasher entries for P4 units with factory ESP-AT Wi-Fi chips (#612, #619). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
43 lines
1.7 KiB
Bash
Executable File
43 lines
1.7 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
# wadamesh site deploy: publish the static landing page (deploy/site/) to the
|
|
# VPS web root behind Cloudflare.
|
|
#
|
|
# The apex `wadamesh.com` nginx block serves /srv/wadamesh/site
|
|
# (flasher.wadamesh.com 301-redirects there), so that dir IS the live site.
|
|
#
|
|
# Usage:
|
|
# WADAMESH_VPS=user@your-vps scripts/deploy-site.sh # deploy
|
|
# WADAMESH_VPS=user@your-vps scripts/deploy-site.sh --dry-run # preview only
|
|
#
|
|
# Optional:
|
|
# WADAMESH_SITE_PATH=/srv/wadamesh/site # override the web root
|
|
#
|
|
# The VPS target comes from the environment — never commit it (Cloudflare fronts
|
|
# the origin, so the IP isn't needed in the repo).
|
|
set -euo pipefail
|
|
|
|
ROOT="$(cd "$(dirname "$0")/.." && pwd)"
|
|
SRC="$ROOT/deploy/site/"
|
|
DEST="${WADAMESH_VPS:?set WADAMESH_VPS=user@host}"
|
|
DEST_PATH="${WADAMESH_SITE_PATH:-/srv/wadamesh/site}"
|
|
|
|
DRY=""
|
|
[ "${1:-}" = "--dry-run" ] && DRY="--dry-run"
|
|
|
|
# The changelog page (what the firmware's text browser opens when there is no home page on
|
|
# the SD card, #622) is generated from release-notes/ so it always matches the builds.
|
|
python3 "$ROOT/scripts/build/gen-changelog.py"
|
|
|
|
# Mirror deploy/site/ -> web root. --delete prunes files no longer in the repo;
|
|
# everything under deploy/site/ is static (html, svg, json manifests).
|
|
# Note: -a preserves source perms (644 files / 755 dirs) — no --chmod, since the
|
|
# rsync that ships with macOS rejects the D755,F644 per-type syntax.
|
|
rsync -avz $DRY --delete "$SRC" "$DEST:$DEST_PATH/"
|
|
|
|
if [ -z "$DRY" ]; then
|
|
echo
|
|
echo "deployed deploy/site/ -> $DEST:$DEST_PATH"
|
|
echo "note: Cloudflare edge-caches; HTML is short-TTL but purge the zone if a"
|
|
echo " change doesn't show within a minute."
|
|
fi
|