feat(os): add elizaOS live update architecture #32
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: ElizaOS OS release validation | |
| on: | |
| workflow_dispatch: | |
| pull_request: | |
| paths: | |
| - ".github/workflows/elizaos-os-release.yml" | |
| - "packages/os/**" | |
| - "packages/os-homepage/**" | |
| - "packages/os-usb-installer/**" | |
| - "packages/elizaos-setup/**" | |
| jobs: | |
| validate-os-release: | |
| name: Validate OS release surfaces | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v4 | |
| - name: Set up Bun | |
| uses: oven-sh/setup-bun@v2 | |
| with: | |
| bun-version: "1.3.13" | |
| - name: Install dependencies | |
| run: bun install | |
| - name: Validate OS release manifest | |
| run: | | |
| node --check packages/os/scripts/*.mjs | |
| node packages/os/scripts/validate-release-manifest.mjs \ | |
| --manifest packages/os/release/beta-2026-05-16/manifest.json | |
| node --test packages/os/scripts/__tests__/os-release-scripts.test.mjs | |
| node packages/os/scripts/collect-release-evidence.mjs \ | |
| --manifest packages/os/release/beta-2026-05-16/manifest.json \ | |
| --output packages/os/release/beta-2026-05-16/evidence/ci-evidence.json | |
| - name: Validate USB installer | |
| run: | | |
| bun run --cwd packages/os-usb-installer lint | |
| bun run --cwd packages/os-usb-installer typecheck | |
| bun run --cwd packages/os-usb-installer test | |
| bun run --cwd packages/os-usb-installer build | |
| - name: Validate Android installer | |
| run: | | |
| packages/os/android/installer/tests/run-tests.sh | |
| node packages/os/android/installer/scripts/validate-release-manifest.mjs \ | |
| packages/os/android/installer/manifests/android-release-manifest.example.json | |
| node packages/os/android/installer/scripts/validate-release-manifest.mjs \ | |
| packages/os/release/beta-2026-05-16/android-release-manifest.json | |
| - name: Validate elizaos-setup (formerly aosp-flasher) | |
| run: | | |
| bun run --cwd packages/elizaos-setup typecheck | |
| bun run --cwd packages/elizaos-setup build | |
| - name: Validate Linux live USB metadata | |
| run: | | |
| cd packages/os/linux/variants/milady-tails | |
| ELIZAOS_STATIC_SOURCE_ONLY=1 ./scripts/static-smoke.sh | |
| - name: Validate OS homepage | |
| run: | | |
| bun run --cwd packages/os-homepage lint:check | |
| bun run --cwd packages/os-homepage typecheck | |
| bun run --cwd packages/os-homepage build | |
| (cd packages/os-homepage && ../../node_modules/.bin/playwright install --with-deps chromium) | |
| bun run --cwd packages/os-homepage test:e2e | |
| - name: Capture homepage contact sheet | |
| run: | | |
| set -euo pipefail | |
| bun --bun --cwd packages/os-homepage vite preview --host 127.0.0.1 --port 4455 & | |
| echo $! > /tmp/os-homepage-preview.pid | |
| ready=0 | |
| for i in {1..60}; do | |
| if curl -fsS http://127.0.0.1:4455 >/dev/null; then | |
| ready=1 | |
| break | |
| fi | |
| sleep 1 | |
| done | |
| if [ "$ready" != "1" ]; then | |
| echo "ERROR: os-homepage preview never came up on 127.0.0.1:4455" | |
| kill "$(cat /tmp/os-homepage-preview.pid)" 2>/dev/null || true | |
| exit 1 | |
| fi | |
| bun run --cwd packages/os-homepage screenshots | |
| kill "$(cat /tmp/os-homepage-preview.pid)" 2>/dev/null || true | |
| - name: Upload release evidence | |
| uses: actions/upload-artifact@v4 | |
| if: always() | |
| with: | |
| name: elizaos-os-release-validation | |
| path: | | |
| packages/os/release/beta-2026-05-16/evidence/** | |
| packages/os/linux/vm/output/ci-bundle-metadata/** | |
| packages/os-homepage/artifacts/screenshots/** | |
| packages/os-homepage/test-results/** |