feat: expand oracle and topology evidence gates

This commit is contained in:
2026-08-10 18:27:56 -04:00
parent d727375561
commit 3907f50ff1
16 changed files with 17629 additions and 364 deletions

View File

@@ -40,6 +40,7 @@ const lanes = {
'configure:freecad-native',
'build:freecad-native',
'probe:freecad-reference',
'check:freecad-desktop-oracle',
'test:golden:freecad',
'test:golden:freecad:families',
'test:golden:freecad:failures',
@@ -61,6 +62,7 @@ const lanes = {
'check:freecad-composite-history-elementmap',
'check:freecad-exact-history-elementmap-gate',
'check:freecad-native-naming-evidence',
'test:freecad-fcstd-native',
],
wasm: [
...wasmBuilds,
@@ -71,10 +73,14 @@ const lanes = {
'check:planegcs-artifact',
'test:chrome-planegcs',
'test:chrome-native-history',
'test:chrome-native-pad-history',
'test:chrome-native-pocket-history',
'test:chrome-camotics-wasm',
'test:chrome-cam-native-simulation',
'check:chrome-planegcs',
'check:chrome-native-history',
'check:chrome-native-pad-history',
'check:chrome-native-pocket-history',
'check:chrome-camotics-wasm',
'check:chrome-cam-native-simulation',
],
@@ -83,13 +89,13 @@ const lanes = {
const selectedLanes = requestedLane === 'all' ? ['oracle', 'wasm', 'chrome'] : [requestedLane]
const results = []
function runScript(name) {
function runScript(name, laneEnvironment = {}) {
if (!scripts[name]) throw new Error(`Required npm script is missing: ${name}`)
const startedAt = Date.now()
console.log(`\n[real-verification] ${name}`)
const result = spawnSync(npmw, ['run', name], {
cwd: root,
env: { ...process.env, CI_REAL_VERIFICATION: '1' },
env: { ...process.env, CI_REAL_VERIFICATION: '1', ...laneEnvironment },
stdio: 'inherit',
})
const record = { script: name, status: result.status ?? 1, durationMs: Date.now() - startedAt }
@@ -100,7 +106,14 @@ function runScript(name) {
try {
for (const lane of selectedLanes) {
console.log(`\n[real-verification] lane=${lane}`)
for (const name of lanes[lane]) runScript(name)
const laneEnvironment = lane === 'oracle'
? {
FREECAD_ORACLE_PROFILE: 'desktop',
FREECAD_CMD: resolve(root, '.cache/freecad/install-desktop/bin/FreeCADCmd'),
FREECAD_REFERENCE_CMD: resolve(root, '.cache/freecad/install-desktop/bin/FreeCAD'),
}
: {}
for (const name of lanes[lane]) runScript(name, laneEnvironment)
}
} finally {
const outputDir = resolve(root, '.cache', 'ci')