Skip to content

Fix/pr 7714 7715 review issues #5

Fix/pr 7714 7715 review issues

Fix/pr 7714 7715 review issues #5

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/aosp-flasher/**"
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
- name: Validate AOSP flasher
continue-on-error: true
run: |
bun run --cwd packages/aosp-flasher typecheck || echo "WARN: aosp-flasher not yet present"
bun run --cwd packages/aosp-flasher build || echo "WARN: aosp-flasher build skipped"
- name: Validate VM metadata
run: |
cd packages/os/linux
python3 -m unittest discover -s vm/tests
vm/scripts/package-metadata.sh \
--output-dir vm/output/ci-bundle-metadata \
--archive -- --target qemu
- 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
bun run --cwd packages/os-homepage test:e2e
- name: Capture homepage contact sheet
run: |
bun --bun --cwd packages/os-homepage vite preview --host 127.0.0.1 --port 4455 &
echo $! > /tmp/os-homepage-preview.pid
for i in {1..60}; do
if curl -fsS http://127.0.0.1:4455 >/dev/null; then
break
fi
sleep 1
done
curl -fsS http://127.0.0.1:4455 >/dev/null
bun run --cwd packages/os-homepage screenshots
kill "$(cat /tmp/os-homepage-preview.pid)"
- 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/**