57 lines
2.0 KiB
YAML
57 lines
2.0 KiB
YAML
name: Capture v17.6.5 E2E failures
|
|
|
|
on:
|
|
push:
|
|
branches:
|
|
- feature/v17.6.5-stability
|
|
paths:
|
|
- .github/workflows/debug-v1765-e2e.yml
|
|
|
|
permissions:
|
|
contents: write
|
|
|
|
jobs:
|
|
debug:
|
|
if: github.actor != 'github-actions[bot]'
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
- uses: actions/setup-node@v4
|
|
with:
|
|
node-version: 22
|
|
- run: npm install
|
|
- run: npx playwright install --with-deps chromium
|
|
- name: Capture failures
|
|
run: |
|
|
npx playwright test --config=tests/playwright.config.mjs --reporter=json > /tmp/pw.json || true
|
|
node <<'NODE'
|
|
const fs=require('fs');
|
|
const r=JSON.parse(fs.readFileSync('/tmp/pw.json','utf8'));
|
|
const out=[];
|
|
function walk(suite,path=[]){
|
|
const here=[...path,(suite.title||'')].filter(Boolean);
|
|
for(const spec of suite.specs||[]){
|
|
for(const test of spec.tests||[]){
|
|
const bad=(test.results||[]).filter(x=>x.status==='failed'||x.status==='timedOut');
|
|
if(!bad.length)continue;
|
|
out.push('TEST: '+[...here,spec.title].filter(Boolean).join(' > '));
|
|
for(const res of bad){
|
|
out.push('STATUS: '+res.status);
|
|
for(const e of res.errors||[])out.push(String(e.message||e.value||e).slice(0,6000));
|
|
}
|
|
out.push('---');
|
|
}
|
|
}
|
|
for(const child of suite.suites||[])walk(child,here);
|
|
}
|
|
for(const suite of r.suites||[])walk(suite,[]);
|
|
fs.writeFileSync('e2e-v1765-failures.txt',out.join('\n')||'NO FAILURES\n');
|
|
NODE
|
|
- name: Commit diagnostics
|
|
run: |
|
|
git config user.name "github-actions[bot]"
|
|
git config user.email "41898282+github-actions[bot]@users.noreply.github.com"
|
|
git add e2e-v1765-failures.txt
|
|
git commit -m "Capture v17.6.5 E2E failures"
|
|
git push
|