fix(ci): retain Telegram candidate diagnostics (#105472)

* fix(ci): retain Telegram candidate diagnostics

* fix(ci): stream redacted Telegram diagnostics
This commit is contained in:
Peter Steinberger
2026-07-12 16:10:41 +01:00
committed by GitHub
parent 761839343a
commit eaedcdcd4e
2 changed files with 192 additions and 0 deletions

View File

@@ -557,6 +557,44 @@ describe("release Telegram QA workflow", () => {
expect(finalizeStep?.env?.RUN_LANE_OUTCOME).toBe("${{ steps.run_lane.outcome }}");
expect(finalizeStep?.run).toContain('--arg runLaneOutcome "$RUN_LANE_OUTCOME"');
expect(finalizeStep?.run).toContain('if $runLaneOutcome == "success" then 2 else 1 end');
const captureStep = job?.steps?.find(
(step) => step.name === "Capture isolated Telegram runtime diagnostics",
);
expect(captureStep?.if).toContain("steps.terminate_sut.outputs.quiescent == 'true'");
expect(captureStep?.env?.OUTPUT_DIR).toBe("${{ steps.run_lane.outputs.output_dir }}");
expect(captureStep?.env?.RUNTIME_ROOT).toBe("${{ steps.create_sut.outputs.runtime_root }}");
expect(captureStep?.run).toContain("-name 'openclaw-*.log'");
expect(captureStep?.run).toContain(
'trusted_temp_root="$(mktemp -d "${RUNNER_TEMP}/openclaw-telegram-diagnostics.XXXXXX")"',
);
expect(captureStep?.run).not.toContain(".raw");
expect(captureStep?.run).toContain(
'sudo cat "$log_path" | node --import tsx "$redactor_script" "$output_path"',
);
expect(captureStep?.run).toContain("const redactedLine =");
expect(captureStep?.run).toContain("const limitBytes = 131_072");
expect(captureStep?.run).toContain("const maxInputRecordBytes = 1_048_576");
expect(captureStep?.run).toContain("[truncated oversized gateway log record]");
expect(captureStep?.run).toContain("[omitted oversized gateway log record]");
expect(captureStep?.run).toContain("chunk.indexOf(0x0a, offset)");
expect(captureStep?.run).not.toContain("readline.createInterface");
expect(captureStep?.run).toContain("while (retained.length > 0");
expect(captureStep?.run).toContain("redactQaGatewayDebugText");
expect(captureStep?.run).toContain("agentDefaultModel: .agents.defaults.model");
expect(captureStep?.run).toContain("modelIds: [.value.models[]?.id]");
expect(
job?.steps?.findIndex(
(step) => step.name === "Capture isolated Telegram runtime diagnostics",
),
).toBeLessThan(
job?.steps?.findIndex(
(step) => step.name === "Finalize trusted Telegram process-boundary evidence",
) ?? -1,
);
const recordStep = job?.steps?.find((step) => step.name === "Record Telegram execution status");
expect(recordStep?.env?.OUTCOMES).toContain("${{ steps.capture_diagnostics.outcome }}");
});
it("serializes stderr behind the workflow-command pause", () => {