OpenClaw · Playwright · JUnit · 원격 Mac · 2026

2026 OpenClaw 프론트 실전:
원격 Mac에서 JUnit·trace 색인·stderr를 단일 PR 게이트 요약으로 묶어 돌려보내기

2026.05.06 MacWww 약 9분 읽기

프론트 E2E에서 Playwright가 남긴 JUnit XML·trace zip·stderr를 PR 본문에 그대로 붙이면 토큰과 가독성이 무너집니다. 원격 Mac 러너가 경로를 고정하고 병합한 뒤 OpenClaw 게이트웨이 템플릿에 표·색인 머리·꼬리만 실으면 단일 PR 요약으로 재현됩니다. 연관 글 샤드 병합·토큰 E2E 요약·공개 블로그.

키워드 OpenClaw · JUnit · trace 색인 · stderr · PR 게이트 · 원격 Mac

통증 첫째 샤드마다 JUnit 행이 흩어져 리뷰가 느리고 둘째 trace URL 나열로 코멘트가 비대해지며 셋째 병합 전 stderr가 중복됩니다. 경계는 병합 후 파일만 게이트에 넘기고 긴 로그는 아티팩트 URL에 남깁니다.

01 대조 PR에 실을 것과 아티팩트에 둘 것

구분 게이트웨이 입력 스토리지만
JUnit 병합 건수·실패 케이스 표 샤드 원본 XML
trace 색인 상단 키와 총개수 zip과 스토리지 경로
stderr 꼬리 몇 줄과 바이트 상한 전체 콘솔

02 보고서 경로 약속

루트는 artifacts/e2e/${RUN_ID}/ 샤드는 shard-${INDEX}/results.xml 병합은 merged/junit.xml 색인은 merged/trace-index.json 꼬리는 merged/stderr-tails.json입니다. RUN_ID는 PR 번호와 짧은 SHA 키는 testCaseId 우선 없으면 파일명으로 맞춥니다.

03 임계 전략

판정은 merged/junit.xml 실패 수만 사용합니다. flake 재시도는 실패 F에 대해 R=min(3,max(1,ceil(0.12×F)))로 샤드별 상한과 전체 덮개를 동시에 겁니다. stderr는 끝 2KB 여덟 줄 trace 색인은 본문에 세 키까지 노출합니다.

04 게이트웨이 측 템플릿

Markdown에는 표 한 장 실패 표본 세 줄 색인 머리 stderr 꼬리 블록만 둡니다. OpenClaw는 JSON 세 줄과 템플릿 슬롯을 채워 동일 커밋이면 코멘트를 갱신하고 비밀은 마스킹합니다. 브라우저 실행은 원격 Mac 셸에만 둡니다.

05 실패 재시도

네트워크 5xx나 runner detach는 지수 백오프 두 번 PR 코멘트는 직전 해시와 다를 때만 업로드합니다. 동일 실패가 R를 넘기면 쿼런틴 라벨을 JSON에 넣고 게이트를 빨강으로 고정합니다.

06 재현 단계 다섯

  1. RUN_ID 폴더를 만들고 샤드 산출물을 격리한다
  2. 단일 잡에서 JUnit을 병합하고 trace-index를 생성한다
  3. 케이스별 stderr 꼬리를 잘라 JSON으로 묶는다
  4. 임계와 재시도 상한을 적용해 gate 불리언을 만든다
  5. 게이트웨이가 템플릿을 채워 PR에 upsert한다

07 실행 스크립트 골격

node scripts/merge-junit.mjs --glob 'artifacts/e2e/$RUN_ID/shard-*/results.xml' --out merged/junit.xml
node scripts/build-trace-index.mjs --root artifacts/e2e/$RUN_ID --out merged/trace-index.json
node scripts/tail-stderr.mjs --cases merged/junit.xml --out merged/stderr-tails.json --bytes 2048 --lines 8
openclaw pr-summary --inputs merged/*.json merged/junit.xml --template templates/e2e-gate.md

로컬에서도 동일 명령으로 경로만 바꿔 재현할 수 있습니다.

인용 가능한 세 줄

병합 JUnit만으로 색을 정하고 trace·stderr는 요약만 PR에 남긴다 재시도는 실패 수 비례 상한으로 묶고 게이트웨이는 Markdown만 보낸다

WebKit·Chromium 고정이 필요하면 구매·대여에서 노드를 고르고 이 HowTo를 그대로 붙여 넣으면 됩니다.

공개 블로그 · 홈 · 구매 CTA

원격 Mac에서 PR 게이트 요약을 매일 같은 모양으로 돌리세요

노드가 고정되면 JUnit·trace·stderr 요약이 흔들리지 않습니다. 기술 블로그··구매·대여·요금은 로그인 없이 열립니다.

· 구매 · 블로그

E2E 러너용 Mac 대여 보기