426e9eeabd
Benchmark Bridge Tests / benchmark (bunx @biomejs/biome check packages/lifeops-bench/src, benchmark-lint) (push) Waiting to run
Benchmark Bridge Tests / benchmark (bunx vitest run --config packages/lifeops-bench/vitest.config.ts --root packages/lifeops-bench --passWithNoTests, benchmark-tests) (push) Waiting to run
Build Agent Image / build-and-push (push) Waiting to run
Chat shell gestures / Chat shell gesture + parity e2e (push) Waiting to run
ci / test (push) Waiting to run
ci / lint-and-format (push) Waiting to run
ci / build (push) Waiting to run
ci / dev-startup (push) Waiting to run
Cloud Gateway Discord / Test (push) Waiting to run
Cloud Gateway Webhook / Test (push) Waiting to run
Cloud Tests / lint-and-types (push) Waiting to run
Cloud Tests / unit-tests (push) Waiting to run
Cloud Tests / integration-tests (push) Waiting to run
Cloud Tests / e2e-tests (push) Blocked by required conditions
CodeQL Advanced / Analyze (javascript-typescript) (push) Waiting to run
Deploy Apps Worker (Product 2) / Determine environment (push) Waiting to run
Deploy Apps Worker (Product 2) / Deploy apps worker to apps-control host (${{ needs.determine-env.outputs.environment }}) (push) Blocked by required conditions
Deploy Eliza Provisioning Worker / Determine environment (push) Waiting to run
Deploy Eliza Provisioning Worker / Deploy worker to Hetzner host (${{ needs.determine-env.outputs.environment }} @ ${{ needs.determine-env.outputs.deployment_sha }}) (push) Blocked by required conditions
Dev Smoke / Classify changed paths (push) Waiting to run
Dev Smoke / bun run dev onboarding chat (push) Blocked by required conditions
Dev Smoke / Vite HMR dependency-level smoke (push) Blocked by required conditions
Electrobun Submodule Guard / electrobun gitlink is fetchable (push) Waiting to run
gitleaks / gitleaks (push) Waiting to run
Markdown Links / Relative Markdown Links (push) Waiting to run
Publish @elizaos/example-code / check_npm (push) Waiting to run
Publish @elizaos/example-code / publish_npm (push) Blocked by required conditions
Publish @elizaos/plugin-elizacloud / verify_version (push) Waiting to run
Publish @elizaos/plugin-elizacloud / publish_npm (push) Blocked by required conditions
Quality (Extended) / Homepage Build (PR smoke) (push) Waiting to run
Quality (Extended) / Comment-only diff guard (push) Waiting to run
Quality (Extended) / Format + Type Safety Ratchet (push) Waiting to run
Quality (Extended) / Develop Gate (secret scan + UI determinism) (push) Waiting to run
Quality (Extended) / Develop Gate (lint) (push) Waiting to run
Sandbox Live Smoke / Sandbox live smoke (push) Waiting to run
Snap Build & Test / Build Snap (amd64) (push) Waiting to run
Snap Build & Test / Build Snap (arm64) (push) Waiting to run
supply-chain / sbom (push) Waiting to run
supply-chain / vulnerability-scan (push) Waiting to run
Build, Push & Deploy to Phala Cloud / build-and-push (push) Waiting to run
Test Packaging / Validate Packaging Configs (push) Waiting to run
Test Packaging / PyPI on Python ${{ matrix.python }} (push) Waiting to run
Test Packaging / Pack & Test JS Tarballs (push) Waiting to run
Test Packaging / elizaos CLI global-install smoke (node + bun) (push) Waiting to run
UI Fixture E2E / ui-fixture-e2e (push) Waiting to run
UI Fixture E2E / fixture-e2e (push) Waiting to run
UI Story Gate / story-gate (push) Waiting to run
vault-ci / test (macos-latest) (push) Waiting to run
vault-ci / test (ubuntu-latest) (push) Waiting to run
vault-ci / test (windows-latest) (push) Waiting to run
vault-ci / app-core wiring tests (push) Waiting to run
verify-patches / verify patches/CHECKSUMS.sha256 (push) Waiting to run
Voice Benchmark Smoke / voice-emotion fixture smoke (push) Waiting to run
Voice Benchmark Smoke / voiceagentbench fixture smoke (push) Waiting to run
Voice Benchmark Smoke / voicebench-quality unit smoke (push) Waiting to run
Voice Benchmark Smoke / voicebench TypeScript unit (no audio) (push) Waiting to run
Voice Benchmark Smoke / voice bench smoke summary (push) Blocked by required conditions
Windows CI / windows ([bun run --cwd packages/app-core test bun run --cwd packages/elizaos test bun run --cwd packages/cloud/shared test], app-and-cli) (push) Waiting to run
Windows CI / windows ([bun run --cwd packages/scenario-runner test bun run --cwd packages/vault test bun run --cwd packages/security test bun run --cwd plugins/plugin-coding-tools test], framework-packages) (push) Waiting to run
Windows CI / windows ([bun run --cwd plugins/plugin-elizacloud test bun run --cwd plugins/plugin-discord test bun run --cwd plugins/plugin-anthropic test bun run --cwd plugins/plugin-openai test bun run --cwd plugins/plugin-app-control test bun run --cwd plugins/pl… (push) Waiting to run
Windows CI / windows ([node packages/scripts/run-turbo.mjs run build --filter=@elizaos/core --filter=@elizaos/shared --filter=@elizaos/agent --concurrency=4 node packages/scripts/run-bash-linux-only.mjs scripts/verify-riscv64-buildpaths.sh node packages/scripts/run… (push) Waiting to run
Windows CI / windows ([node packages/scripts/run-turbo.mjs run typecheck --filter=@elizaos/core --filter=@elizaos/shared --filter=@elizaos/cloud-shared --concurrency=4 bun run --cwd packages/core test bun run --cwd packages/shared test], core-runtime, 75) (push) Waiting to run
Test Packaging / Build & Test PyPI Package (push) Waiting to run
Voice Workbench / headless workbench (mocked backends) (push) Has been cancelled
Voice Workbench / real acoustic lane (nightly, provisioned only) (push) Has been cancelled
68 lines
2.6 KiB
TypeScript
68 lines
2.6 KiB
TypeScript
/** Exercises real runtime critical paths behavior with deterministic app-core test fixtures. */
|
|
import { execFileSync } from "node:child_process";
|
|
import path from "node:path";
|
|
import { fileURLToPath } from "node:url";
|
|
import { describe, expect, it } from "vitest";
|
|
|
|
/**
|
|
* Mock-mount vs real-runtime quarantine (issue #9943 item 11).
|
|
*
|
|
* The repo's e2e standard is "E2E must catch real bugs, not mock-mount smoke."
|
|
* Specs are TAGGED by filename:
|
|
* - `*.real.test.ts` / `*.real.e2e.test.ts` / `*.live.test.ts` /
|
|
* `*.live.e2e.test.ts` run against a REAL AgentRuntime (createRealTestRuntime
|
|
* / a live agent server). They are quarantined out of the default unit lane
|
|
* (see vitest.config.ts `exclude`) and run in the post-merge / live lane.
|
|
* - every other `*.spec.ts` / `*.test.ts` mounts a mocked agent.
|
|
*
|
|
* This guard pins the load-bearing half of the standard: the auth / chat / wallet
|
|
* critical paths must each keep at least one REAL-runtime variant, so a refactor
|
|
* can't silently drop real-runtime coverage and leave only mock-mount smoke.
|
|
* It does NOT run those heavy specs — it asserts the tagged files exist.
|
|
*/
|
|
|
|
const REPO_ROOT = path.resolve(
|
|
path.dirname(fileURLToPath(import.meta.url)),
|
|
"..",
|
|
"..",
|
|
"..",
|
|
);
|
|
|
|
const REAL_RUNTIME_RE = /\.(real|live)\.(e2e\.)?test\.tsx?$/;
|
|
|
|
function realRuntimeSpecs(): string[] {
|
|
// Critical-path real-runtime coverage lives where the behavior lives: auth/chat
|
|
// against the app runtime/server (packages/app-core), wallet against real chains
|
|
// in plugins/plugin-wallet.
|
|
const tracked = execFileSync(
|
|
"git",
|
|
["ls-files", "packages/app", "packages/app-core", "plugins/plugin-wallet"],
|
|
{ cwd: REPO_ROOT, encoding: "utf8", maxBuffer: 64 * 1024 * 1024 },
|
|
);
|
|
return tracked
|
|
.split(/\r?\n/)
|
|
.filter((f) => f.length > 0 && REAL_RUNTIME_RE.test(f));
|
|
}
|
|
|
|
// Critical paths that must retain a real-runtime (non-mock-mount) variant.
|
|
const CRITICAL_PATHS: Array<{ name: string; match: RegExp }> = [
|
|
{ name: "auth", match: /(auth|login|bootstrap-token)/i },
|
|
{ name: "chat", match: /(chat|conversation|message|streaming)/i },
|
|
{ name: "wallet", match: /wallet/i },
|
|
];
|
|
|
|
describe("real-runtime critical-path coverage (#9943 item 11)", () => {
|
|
const specs = realRuntimeSpecs();
|
|
|
|
it("discovers the real-runtime spec corpus (guard against a glob regression)", () => {
|
|
expect(specs.length).toBeGreaterThan(10);
|
|
});
|
|
|
|
for (const { name, match } of CRITICAL_PATHS) {
|
|
it(`${name} keeps at least one real-runtime (non-mock-mount) variant`, () => {
|
|
const variants = specs.filter((s) => match.test(path.basename(s)));
|
|
expect(variants.length).toBeGreaterThan(0);
|
|
});
|
|
}
|
|
});
|