fix(qa): sanitize matrix runner evidence text · openclaw/openclaw@6293e6e
vincentkoc
·
2026-06-20
·
via Recent Commits to openclaw:main
| Original file line number | Diff line number | Diff line change |
|---|
@@ -270,9 +270,9 @@ describe("evidence gallery", () => {
|
270 | 270 | coverageIds: ["ui.control"], |
271 | 271 | runner: { |
272 | 272 | availability: "local", |
273 | | -command: "pnpm openclaw qa suite --scenario ux-matrix-evidence-dashboard", |
| 273 | +command: `${repoRoot}/openclaw.mjs qa suite --scenario ux-matrix-evidence-dashboard`, |
274 | 274 | lane: "web-ui-playwright", |
275 | | -workflow: ".github/workflows/ux-matrix-qa.yml#ux-matrix-local", |
| 275 | +workflow: `${repoRoot}/.github/workflows/ux-matrix-qa.yml#ux-matrix-local`, |
276 | 276 | }, |
277 | 277 | stage: "first-run", |
278 | 278 | status: "pass", |
@@ -434,9 +434,9 @@ describe("evidence gallery", () => {
|
434 | 434 | coverageIds: ["ui.control"], |
435 | 435 | runner: { |
436 | 436 | availability: "local", |
437 | | -command: "pnpm openclaw qa suite --scenario ux-matrix-evidence-dashboard", |
| 437 | +command: "<repo-root>/openclaw.mjs qa suite --scenario ux-matrix-evidence-dashboard", |
438 | 438 | lane: "web-ui-playwright", |
439 | | -workflow: ".github/workflows/ux-matrix-qa.yml#ux-matrix-local", |
| 439 | +workflow: "<repo-root>/.github/workflows/ux-matrix-qa.yml#ux-matrix-local", |
440 | 440 | }, |
441 | 441 | stage: "first-run", |
442 | 442 | status: "pass", |
|
| Original file line number | Diff line number | Diff line change |
|---|
@@ -559,6 +559,15 @@ function readMatrixCells(params: {
|
559 | 559 | status === "proof-gap" ? null : (entriesByCell.get(`${surface}:${stage}`) ?? null); |
560 | 560 | const artifacts = entry?.execution?.artifacts ?? []; |
561 | 561 | const runner = readRecord(cell.runner); |
| 562 | +const readRunnerString = (value: unknown) => { |
| 563 | +const text = readString(value); |
| 564 | +return text |
| 565 | + ? sanitizeGalleryText(text, { |
| 566 | +extraRoots: params.extraRoots, |
| 567 | +repoRoot: params.repoRoot, |
| 568 | +}) |
| 569 | + : null; |
| 570 | +}; |
562 | 571 | return [ |
563 | 572 | { |
564 | 573 | artifactKinds: readStringArray(artifacts.map((artifact) => artifact.kind)), |
@@ -571,10 +580,10 @@ function readMatrixCells(params: {
|
571 | 580 | coverageIds: readStringArray(Array.isArray(cell.coverageIds) ? cell.coverageIds : []), |
572 | 581 | runner: runner |
573 | 582 | ? { |
574 | | -availability: readString(runner.availability), |
575 | | -command: readString(runner.command), |
576 | | -lane: readString(runner.lane), |
577 | | -workflow: readString(runner.workflow), |
| 583 | +availability: readRunnerString(runner.availability), |
| 584 | +command: readRunnerString(runner.command), |
| 585 | +lane: readRunnerString(runner.lane), |
| 586 | +workflow: readRunnerString(runner.workflow), |
578 | 587 | } |
579 | 588 | : null, |
580 | 589 | stage, |
|
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。