Skip to content

Commit 749fd56

Browse files
authored
Merge pull request #7828 from elizaOS/develop
chore(release): develop → main (v2.0.2)
2 parents b550acb + 27d4aee commit 749fd56

6,196 files changed

Lines changed: 1368464 additions & 33874 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.codefactor.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
# https://docs.codefactor.io/configuration/customization/
33
exclude:
44
# Long-lived runtime and integration surfaces are covered by focused tests.
5+
- "packages/agent/src/api/server.ts"
56
- "plugins/plugin-workflow/**"
67
- "packages/agent/src/api/health-routes.ts"
78
- "packages/agent/src/runtime/eliza.ts"
@@ -14,6 +15,7 @@ exclude:
1415
- "packages/app-core/src/services/local-inference/__stress__/cache-stress-helpers.ts"
1516
- "packages/app-core/src/services/local-inference/dflash-cache-flow.test.ts"
1617
- "packages/app-core/src/state/startup-phase-restore.ts"
18+
- "packages/scripts/capability-router-fixture-server.ts"
1719
- "packages/ui/src/api/client-agent.ts"
1820
- "packages/ui/src/api/client-chat.ts"
1921
- "packages/ui/src/navigation/index.ts"

.github/workflows/cloud-e2e.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -78,4 +78,5 @@ jobs:
7878
path: |
7979
packages/test/cloud-e2e/.logs
8080
retention-days: 7
81+
include-hidden-files: true
8182
if-no-files-found: ignore

.github/workflows/elizaos-os-release.yml

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,13 @@ jobs:
4242
bun run --cwd packages/os/usb-installer typecheck
4343
bun run --cwd packages/os/usb-installer test
4444
bun run --cwd packages/os/usb-installer build
45+
bunx playwright install --with-deps chromium
46+
bun run --cwd packages/os/usb-installer test:e2e
47+
if modinfo scsi_debug >/dev/null 2>&1; then
48+
bun run --cwd packages/os/usb-installer test:linux-virtual-usb
49+
else
50+
echo "::notice::scsi_debug kernel module is unavailable on this runner; skipping virtual block-device USB proof."
51+
fi
4552
4653
- name: Validate Android installer
4754
run: |
Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,57 @@
1+
name: Apply database migrations
2+
3+
on:
4+
push:
5+
branches:
6+
- staging
7+
- production
8+
9+
concurrency:
10+
group: apply-migrations-${{ github.ref }}
11+
cancel-in-progress: false
12+
13+
permissions:
14+
contents: read
15+
16+
jobs:
17+
migrate:
18+
runs-on: ubuntu-latest
19+
env:
20+
STAGING_DATABASE_URL: ${{ secrets.STAGING_DATABASE_URL }}
21+
STAGING_DIRECT_DATABASE_URL: ${{ secrets.STAGING_DIRECT_DATABASE_URL }}
22+
PROD_DATABASE_URL: ${{ secrets.PROD_DATABASE_URL }}
23+
PROD_DIRECT_DATABASE_URL: ${{ secrets.PROD_DIRECT_DATABASE_URL }}
24+
25+
steps:
26+
- uses: actions/checkout@v4
27+
28+
- uses: oven-sh/setup-bun@v2
29+
with:
30+
bun-version: latest
31+
32+
- name: Install dependencies
33+
run: bun install --frozen-lockfile
34+
35+
- name: Apply migrations (staging)
36+
if: github.ref == 'refs/heads/staging' && env.STAGING_DATABASE_URL != '' && env.STAGING_DIRECT_DATABASE_URL != ''
37+
env:
38+
DATABASE_URL: ${{ env.STAGING_DATABASE_URL }}
39+
DIRECT_DATABASE_URL: ${{ env.STAGING_DIRECT_DATABASE_URL }}
40+
working-directory: packages/feed/packages/db
41+
run: bunx --bun drizzle-kit push --force --config=drizzle.config.ts
42+
43+
- name: Apply migrations (production)
44+
if: github.ref == 'refs/heads/production' && env.PROD_DATABASE_URL != '' && env.PROD_DIRECT_DATABASE_URL != ''
45+
env:
46+
DATABASE_URL: ${{ env.PROD_DATABASE_URL }}
47+
DIRECT_DATABASE_URL: ${{ env.PROD_DIRECT_DATABASE_URL }}
48+
working-directory: packages/feed/packages/db
49+
run: bunx --bun drizzle-kit push --force --config=drizzle.config.ts
50+
51+
- name: Skip notice (staging)
52+
if: github.ref == 'refs/heads/staging' && (env.STAGING_DATABASE_URL == '' || env.STAGING_DIRECT_DATABASE_URL == '')
53+
run: echo "Skipping staging migrations because STAGING_DATABASE_URL or STAGING_DIRECT_DATABASE_URL is not set."
54+
55+
- name: Skip notice (production)
56+
if: github.ref == 'refs/heads/production' && (env.PROD_DATABASE_URL == '' || env.PROD_DIRECT_DATABASE_URL == '')
57+
run: echo "Skipping production migrations because PROD_DATABASE_URL or PROD_DIRECT_DATABASE_URL is not set."
Lines changed: 113 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,113 @@
1+
name: Daily HuggingFace Dataset Upload
2+
3+
on:
4+
schedule:
5+
# Run daily at 2 AM UTC
6+
- cron: '0 2 * * *'
7+
workflow_dispatch: # Allow manual triggering
8+
inputs:
9+
force:
10+
description: 'Force upload even if no new data'
11+
required: false
12+
default: 'false'
13+
14+
concurrency:
15+
group: daily-dataset-upload-${{ github.ref }}
16+
cancel-in-progress: true
17+
18+
permissions:
19+
contents: read
20+
21+
jobs:
22+
upload-datasets:
23+
if: ${{ vars.ENABLE_DAILY_DATASET_UPLOAD == 'true' }}
24+
runs-on: ubuntu-latest
25+
timeout-minutes: 60 # GitHub Actions has plenty of time
26+
27+
steps:
28+
- name: Checkout code
29+
uses: actions/checkout@v4
30+
31+
- name: Setup Bun
32+
uses: oven-sh/setup-bun@v2
33+
with:
34+
bun-version: latest
35+
36+
- name: Verify required secrets
37+
id: preflight
38+
env:
39+
DATABASE_URL: ${{ secrets.DATABASE_URL }}
40+
HUGGING_FACE_TOKEN: ${{ secrets.HUGGING_FACE_TOKEN }}
41+
run: |
42+
missing=()
43+
[ -z "${DATABASE_URL}" ] && missing+=("DATABASE_URL")
44+
[ -z "${HUGGING_FACE_TOKEN}" ] && missing+=("HUGGING_FACE_TOKEN")
45+
46+
if [ "${#missing[@]}" -gt 0 ]; then
47+
echo "skip=true" >> "$GITHUB_OUTPUT"
48+
echo "missing=${missing[*]}" >> "$GITHUB_OUTPUT"
49+
echo "Skipping dataset upload. Missing required secrets: ${missing[*]}"
50+
else
51+
echo "skip=false" >> "$GITHUB_OUTPUT"
52+
fi
53+
54+
- name: Setup Python (for huggingface-cli)
55+
if: steps.preflight.outputs.skip != 'true'
56+
uses: actions/setup-python@v5
57+
with:
58+
python-version: '3.11'
59+
60+
- name: Install Python dependencies
61+
if: steps.preflight.outputs.skip != 'true'
62+
run: |
63+
pip install huggingface_hub
64+
huggingface-cli --version
65+
66+
- name: Install dependencies
67+
if: steps.preflight.outputs.skip != 'true'
68+
run: bun install
69+
70+
- name: Setup database connection
71+
if: steps.preflight.outputs.skip != 'true'
72+
env:
73+
DATABASE_URL: ${{ secrets.DATABASE_URL }}
74+
run: |
75+
echo "Database configured"
76+
# Drizzle ORM doesn't require a generate step
77+
78+
- name: Collect and prepare game data
79+
if: steps.preflight.outputs.skip != 'true'
80+
env:
81+
DATABASE_URL: ${{ secrets.DATABASE_URL }}
82+
run: |
83+
echo "📊 Collecting all game data..."
84+
npx tsx packages/feed/scripts/collect-game-data-for-hf.ts
85+
86+
- name: Upload to HuggingFace
87+
if: steps.preflight.outputs.skip != 'true'
88+
env:
89+
HUGGING_FACE_TOKEN: ${{ secrets.HUGGING_FACE_TOKEN }}
90+
DATABASE_URL: ${{ secrets.DATABASE_URL }}
91+
HF_DATASET_NAME: FeedSocial/feed-game-data
92+
run: |
93+
echo "📤 Uploading to HuggingFace..."
94+
npx tsx packages/feed/scripts/upload-to-huggingface.ts
95+
96+
- name: Verify upload
97+
if: steps.preflight.outputs.skip != 'true'
98+
run: |
99+
echo "✅ Verifying upload..."
100+
npx tsx packages/feed/scripts/verify-hf-upload.ts
101+
102+
- name: Upload summary
103+
if: always() && steps.preflight.outputs.skip != 'true'
104+
uses: actions/upload-artifact@v4
105+
with:
106+
name: upload-summary
107+
path: exports/huggingface/latest/summary.json
108+
retention-days: 30
109+
110+
- name: Skip notice
111+
if: steps.preflight.outputs.skip == 'true'
112+
run: |
113+
echo "Skipped daily dataset upload due to missing configuration: ${{ steps.preflight.outputs.missing }}"
Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
name: Env Audit
2+
3+
on:
4+
pull_request:
5+
push:
6+
branches: [develop]
7+
8+
concurrency:
9+
group: ${{ github.workflow }}-${{ github.ref }}
10+
cancel-in-progress: true
11+
12+
env:
13+
CI: true
14+
15+
jobs:
16+
env-audit:
17+
name: env:audit:check
18+
runs-on: ubuntu-latest
19+
timeout-minutes: 10
20+
21+
steps:
22+
- uses: actions/checkout@v4
23+
with:
24+
fetch-depth: 2
25+
26+
- name: Setup Bun
27+
uses: oven-sh/setup-bun@v2
28+
with:
29+
bun-version: latest
30+
31+
- name: Install dependencies
32+
run: bun install --frozen-lockfile
33+
34+
- name: Env audit check
35+
run: bun run --cwd packages/feed env:audit:check
36+
continue-on-error: true
37+

0 commit comments

Comments
 (0)