-
Notifications
You must be signed in to change notification settings - Fork 5.5k
110 lines (98 loc) · 4.14 KB
/
elizaos-os-release.yml
File metadata and controls
110 lines (98 loc) · 4.14 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
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/os/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
bunx playwright install --with-deps chromium
bun run --cwd packages/os/usb-installer test:e2e
if modinfo scsi_debug >/dev/null 2>&1; then
bun run --cwd packages/os/usb-installer test:linux-virtual-usb
else
echo "::notice::scsi_debug kernel module is unavailable on this runner; skipping virtual block-device USB proof."
fi
- 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 \
--allow-placeholders
- name: Validate elizaos-setup (formerly aosp-flasher)
run: |
bun run --cwd packages/os/setup typecheck
bun run --cwd packages/os/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/**