Monorepo for Aesthetic.Computer aesthetic.computer
at main 96 lines 2.9 kB view raw
1#!/usr/bin/env fish 2# Deploy Xbox app package via Device Portal from Mac 3# Usage: ./deploy-xbox.fish <path-to-msix> 4 5set -l XBOX_IP "192.168.1.101" 6set -l PORTAL_PORT "11443" 7set -l PORTAL_URL "https://$XBOX_IP:$PORTAL_PORT" 8 9# Check for package argument 10if test (count $argv) -lt 1 11 echo "🎮 Xbox App Deployer" 12 echo "" 13 echo "Usage: ./deploy-xbox.fish <package.msix>" 14 echo "" 15 echo "Steps:" 16 echo " 1. Download .msix from GitHub Actions artifacts" 17 echo " 2. Run: ./deploy-xbox.fish AestheticComputer.msix" 18 echo "" 19 echo "Or deploy via browser:" 20 echo " 1. Open $PORTAL_URL in browser" 21 echo " 2. Accept certificate warning" 22 echo " 3. Go to 'My games & apps' → 'Add'" 23 echo " 4. Upload the .msix file" 24 exit 1 25end 26 27set -l package_path $argv[1] 28 29if not test -f $package_path 30 echo "❌ Package not found: $package_path" 31 exit 1 32end 33 34echo "🎮 Deploying to Xbox at $XBOX_IP..." 35echo " Package: $package_path" 36echo "" 37 38# Check if Xbox is reachable 39echo "🏓 Checking Xbox connectivity..." 40if not ping -c 1 -W 2 $XBOX_IP >/dev/null 2>&1 41 # Try via Mac host if in container 42 if ssh jas@host.docker.internal "ping -c 1 -W 2 $XBOX_IP" >/dev/null 2>&1 43 echo " ✅ Xbox reachable via Mac host" 44 set -l USE_MAC_HOST true 45 else 46 echo " ❌ Xbox not reachable" 47 exit 1 48 end 49else 50 echo " ✅ Xbox reachable" 51end 52 53# Device Portal API endpoint for app installation 54# POST /api/app/packagemanager/package 55# Multipart form with file 56 57echo "" 58echo "📦 Uploading package to Xbox Device Portal..." 59echo " This may take a minute..." 60echo "" 61 62# Note: Device Portal requires authentication if enabled 63# You may need to add -u "username:password" 64# Default is no auth in Dev Mode, but you can set one in Dev Home 65 66set -l response (curl -k -s -w "\n%{http_code}" \ 67 -X POST \ 68 -F "file=@$package_path" \ 69 "$PORTAL_URL/api/app/packagemanager/package" 2>&1) 70 71set -l http_code (echo $response | tail -1) 72set -l body (echo $response | head -n -1) 73 74if test "$http_code" = "200" -o "$http_code" = "204" 75 echo "✅ Package uploaded successfully!" 76 echo "" 77 echo "📺 The app should now appear in 'My games & apps' on Xbox" 78 echo " Look for 'Aesthetic Computer'" 79else if test "$http_code" = "000" 80 echo "⚠️ Could not connect to Device Portal" 81 echo "" 82 echo "Make sure:" 83 echo " 1. Xbox is in Developer Mode" 84 echo " 2. Device Portal is enabled in Dev Home app" 85 echo " 3. You can access $PORTAL_URL in browser" 86 echo "" 87 echo "Alternative: Upload manually via browser" 88 echo " 1. Open $PORTAL_URL" 89 echo " 2. Go to 'My games & apps' → 'Add'" 90 echo " 3. Select $package_path" 91else 92 echo "❌ Upload failed (HTTP $http_code)" 93 echo " Response: $body" 94 echo "" 95 echo "Try manual upload via browser: $PORTAL_URL" 96end