Files
CogentialandClaude Opus 5.5 6c27fd8fc2 Frametanium updates itself from its releases; no box art in the repo
- Frametanium is in its own list (installer mode): updating downloads the
  release bundle and runs install.sh, which now installs the headset app and
  its tile too and, when the service runs it, restarts the service from a
  timer of its own a few seconds later
- release.yml builds the headset app on an ARM64 runner and publishes
  frametanium-steam-frame-arm64.tar.gz (tools/bundle.sh); deploy.sh uses the
  same bundle and install.sh
- Built-in ports' library art is fetched at install (GitHub card + the
  project's icon) instead of shipping box art
- Built-in Banjo-Kazooie (Lighthouse), installing over the Banjo_Kazooie
  tile; a repo the user added before it became built-in isn't listed twice
- Frametanium can't remove itself

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01VHDaz86aayqMULHsjByEmT
2026-10-09 21:05:01 -04:00

24 lines
1.1 KiB
Bash
Executable File

#!/bin/sh
# Installs or updates Frametanium on a Steam Frame from this computer over SSH: the service, and the
# "Frametanium" app in the Steam library with its art. (Once it's installed, it can also update itself from
# its GitHub releases.)
#
# Usage: ./deploy.sh [host] host defaults to frame.local
# Env: SSH_KEY (default ~/.ssh/frame_devkit), SSH_USER (default steamos)
# Build the app first with app/build-arm64.sh.
set -e
cd "$(dirname "$0")"
HOST="${1:-frame.local}"
KEY="${SSH_KEY:-$HOME/.ssh/frame_devkit}"
USER_AT="${SSH_USER:-steamos}@$HOST"
SSH="ssh -i $KEY -o ConnectTimeout=10"
[ -x dist/app/frametanium ] || { echo "Build the app first: app/build-arm64.sh"; exit 1; }
$SSH "$USER_AT" true || { echo "Can't reach $HOST over SSH. Is the Frame on and on this network?"; exit 1; }
tools/bundle.sh dist/app dist/bundle
$SSH "$USER_AT" 'rm -rf ~/.cache/frametanium-src && mkdir -p ~/.cache/frametanium-src'
rsync -a -e "$SSH" dist/bundle/ "$USER_AT:.cache/frametanium-src/"
$SSH "$USER_AT" 'sh ~/.cache/frametanium-src/install.sh'
echo "Done. Open \"Frametanium\" from the library, or http://$HOST:8643 in a browser."