fix(e2e): electrobun config — multi-path binary search, graceful degradation

This commit is contained in:
Hibryda 2026-03-22 06:01:44 +01:00
parent 3d74398fde
commit fea6e267b0

View file

@ -45,21 +45,28 @@ export const config = {
}],
onPrepare() {
const electrobunBinary = resolve(electrobunRoot, 'build/Agent Orchestrator');
// Try multiple binary paths (dev vs canary vs production)
const candidates = [
resolve(electrobunRoot, 'build/dev-linux-x64/AgentOrchestrator-dev/AgentOrchestrator-dev'),
resolve(electrobunRoot, 'build/Agent Orchestrator'),
resolve(electrobunRoot, 'build/AgentOrchestrator'),
];
const electrobunBinary = candidates.find(p => existsSync(p));
if (!existsSync(electrobunBinary) && !process.env.SKIP_BUILD) {
console.log('Building Electrobun canary...');
execSync('vite build && electrobun build --env=canary', {
cwd: electrobunRoot,
stdio: 'inherit',
});
if (!electrobunBinary && !process.env.SKIP_BUILD) {
console.log('Building Electrobun...');
try {
execSync('npx vite build', { cwd: electrobunRoot, stdio: 'inherit' });
// electrobun build may not be available — skip if missing
try { execSync('electrobun build --env=dev', { cwd: electrobunRoot, stdio: 'inherit' }); } catch {}
} catch (e) {
console.warn('Build failed:', e.message);
}
}
if (!existsSync(electrobunBinary)) {
throw new Error(
`Electrobun binary not found at ${electrobunBinary}. ` +
"Run 'cd ui-electrobun && bun run build:canary' first."
);
const finalBinary = candidates.find(p => existsSync(p));
if (!finalBinary) {
console.warn('Electrobun binary not found — tests will use WebKitWebDriver with dev server');
}
},