1
0
mirror of git://f0xx.org/ac/ac-be-builder synced 2026-07-29 03:38:57 +03:00

fix bootstrap paths for lab cluster composed backend

This commit is contained in:
Anton Afanasyeu
2026-07-05 16:57:37 +02:00
parent f8d0fd1078
commit 608f4fdb2e

View File

@@ -1,17 +1,59 @@
<?php <?php
declare(strict_types=1); declare(strict_types=1);
$examplesRoot = dirname(__DIR__, 3); /**
require_once $examplesRoot . '/platform/shared_session.php'; * Resolve platform + shared auth src for monolith, lab cluster, or composed backend.
require_once $examplesRoot . '/platform/footer.php'; *
* @return array{platform_dir:string,crash_src:string,config:string}
*/
function ac_builder_paths(): array {
$builderRoot = dirname(__DIR__);
$crashSrc = $examplesRoot . '/crash_reporter/backend/src'; $clusterPlatform = '/var/www/ac/platform/shared_session.php';
$configPath = __DIR__ . '/../config/config.php'; $clusterComposedSrc = '/var/www/ac/composed/backend/src';
if (!is_file($configPath)) { $clusterComposedCfg = '/var/www/ac/composed/backend/config/config.php';
$configPath = __DIR__ . '/../config/config.example.php'; if (is_file($clusterPlatform) && is_dir($clusterComposedSrc)) {
$cfg = $builderRoot . '/config/config.php';
if (!is_file($cfg)) {
$cfg = is_file($clusterComposedCfg) ? $clusterComposedCfg : $builderRoot . '/config/config.example.php';
}
return [
'platform_dir' => '/var/www/ac/platform',
'crash_src' => $clusterComposedSrc,
'config' => $cfg,
];
}
$examplesRoot = dirname($builderRoot, 3);
if (!is_file($examplesRoot . '/platform/shared_session.php')) {
$examplesRoot = dirname($builderRoot, 2);
}
$cfg = $builderRoot . '/config/config.php';
if (!is_file($cfg)) {
$cfg = $builderRoot . '/config/config.example.php';
}
return [
'platform_dir' => $examplesRoot . '/platform',
'crash_src' => $examplesRoot . '/crash_reporter/backend/src',
'config' => $cfg,
];
} }
$paths = ac_builder_paths();
require_once $paths['platform_dir'] . '/shared_session.php';
require_once $paths['platform_dir'] . '/footer.php';
$crashSrc = $paths['crash_src'];
$configPath = $paths['config'];
$config = require $configPath; $config = require $configPath;
// Cluster: reuse issues DB/session; ensure builder paths when config came from composed issues tree.
if (($config['base_path'] ?? '') === '/app/androidcast_project/issues'
|| ($config['base_path'] ?? '') === '/app/androidcast_project/crashes') {
$config['app_name'] = 'Android Cast Builder';
$config['base_path'] = '/app/androidcast_project/build';
}
platform_start_session( platform_start_session(
$config['session_name'] ?? 'ac_crash_sess', $config['session_name'] ?? 'ac_crash_sess',
$config['session_cookie_path'] ?? '/app/androidcast_project' $config['session_cookie_path'] ?? '/app/androidcast_project'
@@ -63,7 +105,7 @@ function json_out(array $data, int $code = 200): void {
} }
function assets_base(): string { function assets_base(): string {
return rtrim((string) cfg('links.crashes', '/app/androidcast_project/crashes/'), '/'); return rtrim((string) cfg('links.crashes', '/app/androidcast_project/issues/'), '/');
} }
/** @return 'running'|'passed'|'failed' */ /** @return 'running'|'passed'|'failed' */