feat: publish Curios directly through the Git source

This commit is contained in:
2026-09-09 20:17:55 +08:00
parent 68b7164df8
commit 72272eeb1a
17 changed files with 262 additions and 35 deletions
+7 -2
View File
@@ -9,7 +9,12 @@ import { assert, equal, expectError, hostChecks, backendChecks, sleep } from '..
import { serve } from './serve.mjs';
// Only this optional integration adapter depends on the app checkout.
const { values: args } = parseArgs({ options: { 'remote-source': { type: 'string' }, 'source-id': { type: 'string', default: 'trove-official' } } });
const { values: args } = parseArgs({ options: {
'remote-source': { type: 'string' },
'source-id': { type: 'string', default: 'trove-official' },
'source-kind': { type: 'string', default: 'http' },
} });
if (!['git', 'http'].includes(args['source-kind'])) throw new Error('--source-kind must be git or http');
const reportPath = path.join(output, args['remote-source'] ? 'remote-verification.json' : 'verification.json');
await rm(reportPath, { force: true });
const app = process.env.TROVE_APP_DIR;
@@ -41,7 +46,7 @@ const target = process.env.TROVE_QA_TARGET_DIR || path.join(output, 'host-target
try {
run('cargo', ['build', '--manifest-path', path.join(harness, 'Cargo.toml'), '--target-dir', target]);
if (args['remote-source']) {
const result = spawnSync(path.join(target, 'debug/trove-qa-host-check'), ['--remote-source', args['remote-source'], args['source-id']], { cwd: root, encoding: 'utf8', stdio: ['ignore', 'pipe', 'inherit'], timeout: 180000 });
const result = spawnSync(path.join(target, 'debug/trove-qa-host-check'), ['--remote-source', args['remote-source'], args['source-id'], args['source-kind']], { cwd: root, encoding: 'utf8', stdio: ['ignore', 'pipe', 'inherit'], timeout: 180000 });
if (result.error) throw result.error;
const report = JSON.parse(result.stdout);
report.generatedAt = new Date().toISOString();