Skip to content
Merged
Show file tree
Hide file tree
Changes from 21 commits
Commits
Show all changes
43 commits
Select commit Hold shift + click to select a range
2442d70
add
May 2, 2026
d507586
updates
May 2, 2026
902a106
updates
May 2, 2026
fb96a2b
monorepo
May 2, 2026
e221433
more updates
May 2, 2026
18b0b71
chore: vendor cloud and plugins as normal trees; drop git submodules
May 2, 2026
cea5f88
fix issues
May 2, 2026
22daa2a
Merge branch 'develop' into monorepo
lalalune May 2, 2026
a0b4062
fix(ci): unblock proto generation, format check, and PR-flagged tests
May 2, 2026
6e78754
style: biome migrate + format across workspace
May 2, 2026
05322e3
WIP: in-progress changes from working tree
May 2, 2026
e02abc6
ci(cloud): migrate 5 cloud workflows to root .github/workflows
May 2, 2026
af591ea
feat(cloud/examples): add edad + clone-ur-crush standalone reference …
May 2, 2026
9a51264
fix(plugin-raydium): use biome instead of prettier for format
May 2, 2026
7828bbd
ci: continue-on-error for all anthropics/claude-code-action invocations
May 2, 2026
55c8c18
chore: track per-package vitest/tsup/biome configs
May 2, 2026
04a0776
fix(cloud): remove leaked Supabase dev defaults from docker-compose
May 2, 2026
43305f8
Revert "fix(cloud): remove leaked Supabase dev defaults from docker-c…
May 2, 2026
2c713bd
style: biome format — apply to plugins without their own biome.json
May 2, 2026
f38d036
fix(plugin-openrouter): pass with no tests
May 2, 2026
76daea9
chore: tail-end format + passWithNoTests fixes
May 2, 2026
4e1e001
Merge remote-tracking branch 'origin/develop' into monorepo
May 2, 2026
8d7a2a1
fix(cloud/db): rename migrations to match journal (milady→eliza)
May 2, 2026
10a092f
fix(cloud): un-ignore cloud frontend src/lib/data, track 14 source files
May 2, 2026
2b0be49
fix(cloud): biome lint errors blocking cloud-tests verify step
May 2, 2026
9717967
fix(cloud): build steward + declare @stwd/react dep + chat-sidebar bug
May 2, 2026
53dd8b6
fix(plugin-signal): drop redundant parens to unblock format:check
May 2, 2026
7bd1e23
fix: systematic '!x === Y' bug across 39 files (49 lines)
May 2, 2026
9aecbec
fix(plugins): unblock format:check across 21 plugins
May 2, 2026
63bfc76
fix(cloud): unblock api/frontend typecheck — more bang-equals + index…
May 2, 2026
a1af449
fix: 29 more bang-equals bugs (round 3) — broader regex catches
May 2, 2026
a013a12
fix(core): add null guards exposed by bang-equals fixes (round 4)
May 2, 2026
391ff82
fix(plugin-commands): correct biome path (was 3 levels up, should be 2)
May 2, 2026
0c93aad
fix: 27 more bang-equals + null-guards (round 5: parent build)
May 2, 2026
dffc160
fix(core): null-guard + biome format on listInbox + message
May 2, 2026
b4cebc9
ci(cloud-cf-deploy): skip deploy steps when Cloudflare secrets unset
May 2, 2026
9718146
fix(cloud/runtime-factory): treat undefined characterId as "default"
May 2, 2026
885269c
fix(ui/keyboard-shortcuts): coerce shortcut modifier flags to boolean
May 2, 2026
7b36a89
fix(app-lifeops/gmail): null-guard selectGmailPlanStep.steps
May 2, 2026
e06d662
fix(cloud): declare @brighter/storage-adapter-s3 dep for storage-prox…
May 2, 2026
ea96b4a
fix(cloud): un-ignore cloud/tsconfig.test.json
May 2, 2026
93c09e3
Merge branch 'develop' of https://github.com/elizaOS/eliza into monorepo
May 3, 2026
65bf105
some small updategs
May 3, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
The diff you're trying to view is too large. We only load the first 3000 changed files.
1 change: 0 additions & 1 deletion .biomeignore
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,6 @@
**/.venv/**
**/coverage/**
**/scripts/async-optimizer.js
**/packages/python/**
.turbo
.turbo/**
**/.turbo
Expand Down
7 changes: 0 additions & 7 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,13 +16,6 @@ updates:
schedule:
interval: "weekly"

# Python — main package
- package-ecosystem: "pip"
directory: "/packages/python"
schedule:
interval: "weekly"
open-pull-requests-limit: 3

# Python benchmarks (kept on weekly cadence; demo / research code)
- package-ecosystem: "pip"
directory: "/packages/benchmarks/OSWorld"
Expand Down
87 changes: 5 additions & 82 deletions .github/workflows/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,13 +9,10 @@ This directory contains GitHub Actions workflows for the elizaOS project (v2.0.0
| `ci.yaml` | Push/PR to main | Main CI - tests, lint, build |
| `pr.yaml` | PR opened/edited | PR title validation |
| `release.yaml` | Push to develop/main, Release | NPM package releases |
| `release-python.yaml` | Release, Manual | PyPI package releases |
| `release-rust.yaml` | Release, Manual | Crates.io releases |
| `claude.yml` | @claude mentions | Interactive Claude assistance |
| `claude-code-review.yml` | PR opened | Automated code review |
| `claude-security-review.yml` | PR opened | Security-focused review |
| `codeql.yml` | Push/PR to main, Weekly | Static security analysis |
| `multi-lang-tests.yaml` | Push/PR (Rust/Python paths) | Rust, Python, WASM tests |
| `docs-ci.yml` | PR (docs paths), Manual | Documentation quality checks |
| `image.yaml` | Release, Manual | Docker image builds |
| `tee-build-deploy.yml` | Push to main, Manual | TEE deployment to Phala Cloud |
Expand All @@ -36,40 +33,6 @@ Publishes TypeScript/JavaScript packages to NPM.

**Packages:** All `@elizaos/*` packages in the monorepo

### Python Packages (`release-python.yaml`)

Publishes Python packages to PyPI.

**Triggers:**

- GitHub Release created
- Manual dispatch

**Packages:**

- `elizaos` (packages/python) - Core runtime and types
- `elizaos-plugin-sql` (packages/plugin-sql/python) - SQL database adapters
- Additional plugins as configured

**Required Secrets:** `PYPI_TOKEN`

### Rust Crates (`release-rust.yaml`)

Publishes Rust crates to crates.io.

**Triggers:**

- GitHub Release created
- Manual dispatch

**Crates:**

- `elizaos` (packages/rust) - Core runtime and types
- `elizaos-plugin-sql` (packages/plugin-sql/rust) - SQL database adapters
- Additional plugins as configured

**Required Secrets:** `CRATES_IO_TOKEN`

## Test Workflows

### Main CI (`ci.yaml`)
Expand All @@ -79,16 +42,7 @@ Runs on PRs and pushes to main:
- TypeScript tests with coverage
- Linting and formatting checks
- Build verification

### Multi-Language Tests (`multi-lang-tests.yaml`)

Tests Rust and Python packages:

- **Rust:** formatting, clippy, tests, release build
- **Python:** ruff linting, pytest
- **WASM:** build verification
- **Interop:** cross-language integration tests
- **SQL Plugin:** PostgreSQL integration tests
- Interop TypeScript tests (`packages/interop`)

## Code Review Workflows

Expand Down Expand Up @@ -138,26 +92,10 @@ Manual workflow for generating JSDoc documentation.
The release will trigger:

- `release.yaml` → NPM packages
- `release-python.yaml` → PyPI packages
- `release-rust.yaml` → crates.io crates

### 3. Manual Publishing (if needed)
### 3. Manual publishing

**Python:**

```bash
cd packages/python
pip install build twine
python -m build
twine upload dist/*
```

**Rust:**

```bash
cd packages/rust
cargo publish
```
Use `bunx lerna publish` from the repo root when automation is not sufficient (see `release.yaml`).

## Setting Up Secrets

Expand All @@ -166,8 +104,6 @@ cargo publish
| Secret | Purpose | How to Get |
|--------|---------|------------|
| `NPM_TOKEN` | NPM publishing | [npmjs.com/settings/~/tokens](https://www.npmjs.com/settings/~/tokens) |
| `PYPI_TOKEN` | PyPI publishing | [pypi.org/manage/account/token/](https://pypi.org/manage/account/token/) |
| `CRATES_IO_TOKEN` | crates.io publishing | [crates.io/settings/tokens](https://crates.io/settings/tokens) |
| `ANTHROPIC_API_KEY` | Claude workflows | [console.anthropic.com](https://console.anthropic.com) |
| `OPENAI_API_KEY` | Tests requiring OpenAI | [platform.openai.com](https://platform.openai.com) |

Expand All @@ -179,21 +115,9 @@ cargo publish
| `PHALA_CLOUD_API_KEY` | TEE deployment |
| `GH_PAT` | Cross-repo operations |

## Package Dependencies

When releasing, packages are published in this order:

1. **Core packages first:**
- `elizaos` (Python)
- `elizaos` (Rust)
- `@elizaos/core` (NPM)

2. **Then dependent packages:**
- `elizaos-plugin-*` (Python, depends on elizaos)
- `elizaos-plugin-*` (Rust, depends on elizaos)
- `@elizaos/plugin-*` (NPM, depends on @elizaos/core)
## Package dependencies

The workflows handle this ordering automatically.
NPM packages are ordered by the monorepo graph; `release.yaml` / Lerna handle publish ordering for `@elizaos/*` packages.

## Troubleshooting

Expand All @@ -208,7 +132,6 @@ The workflows handle this ordering automatically.
1. Verify secrets are configured
2. Check workflow logs for specific errors
3. For NPM: ensure package versions are unique
4. For crates.io: wait for index propagation (2 min delay built-in)

### Claude Workflow Issues

Expand Down
38 changes: 0 additions & 38 deletions .github/workflows/ci.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -36,18 +36,6 @@ jobs:
with:
bun-version: "1.3.13"

- name: Install protoc
# Required by Rust plugins (plugin-{discord,groq,openai,sql,whatsapp})
# whose `elizaos = "2.0.0"` crate dep invokes prost-build at build time.
run: |
if command -v protoc >/dev/null 2>&1; then
echo "protoc already installed: $(protoc --version)"
exit 0
fi
sudo apt-get update -q
sudo apt-get install -y protobuf-compiler
protoc --version

- name: Install dependencies
run: bun install

Expand Down Expand Up @@ -78,32 +66,6 @@ jobs:
timeout-minutes: 10
run: cd packages/interop && bun run test

- name: Setup Python
uses: actions/setup-python@v6
with:
python-version: "3.14"

- name: Install Python dependencies
run: |
python -m pip install --upgrade pip
python -m pip install -r packages/python/requirements-dev.lock
python -m pip install -e packages/python --no-deps

- name: Run Python tests (@elizaos/python)
timeout-minutes: 10
run: cd packages/python && python -m pytest -q

- name: Run Python tests (@elizaos/interop python)
timeout-minutes: 10
run: cd packages/interop/python && python -m pytest -q

- name: Setup Rust
uses: dtolnay/rust-toolchain@stable

- name: Run Rust tests (@elizaos/rust)
timeout-minutes: 10
run: cd packages/rust && cargo test -q --locked

# Lint and format job
lint-and-format:
# Skip duplicate runs: run on push to main, or on pull_request events only
Expand Down
4 changes: 4 additions & 0 deletions .github/workflows/claude-code-review.yml
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,10 @@ jobs:

- name: Run Claude Code Review
id: claude-review
# Don't fail the workflow when the Anthropic API is unavailable
# (low credit balance, rate limit, transient outage). The bot review
# is best-effort; a missing review must not block CI.
continue-on-error: true
uses: anthropics/claude-code-action@v1
with:
anthropic_api_key: ${{ secrets.ANTHROPIC_API_KEY }}
Expand Down
4 changes: 4 additions & 0 deletions .github/workflows/claude.yml
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,10 @@ jobs:

- name: Run Claude Code
id: claude
# Don't fail the workflow when the Anthropic API is unavailable
# (low credit balance, rate limit, transient outage). @claude is a
# best-effort assistant; an unavailable run must not turn the CI red.
continue-on-error: true
uses: anthropics/claude-code-action@v1
with:
anthropic_api_key: ${{ secrets.ANTHROPIC_API_KEY }}
Expand Down
Loading
Loading