Unverified 提交 05d5a50c authored 作者: Andrey Lushnikov's avatar Andrey Lushnikov 提交者: GitHub

devops: simplify upload to flakiness.io (#2735)

<!-- devin-review-badge-begin --> --- <a href="https://app.devin.ai/review/dyad-sh/dyad/pull/2735" target="_blank"> <picture> <source media="(prefers-color-scheme: dark)" srcset="https://static.devin.ai/assets/gh-open-in-devin-review-dark.svg?v=1"> <img src="https://static.devin.ai/assets/gh-open-in-devin-review-light.svg?v=1" alt="Open with Devin"> </picture> </a> <!-- devin-review-badge-end -->
上级 2754ad53
...@@ -50,54 +50,5 @@ jobs: ...@@ -50,54 +50,5 @@ jobs:
env: env:
FLAKINESS_ACCESS_TOKEN: ${{ secrets.FLAKINESS_ACCESS_TOKEN }} FLAKINESS_ACCESS_TOKEN: ${{ secrets.FLAKINESS_ACCESS_TOKEN }}
run: | run: |
# Install the flakiness SDK find . -name report.json -exec npx -y flakiness upload {} +
npm install @flakiness/sdk
# Upload each shard's report
node --input-type=module << 'EOF'
import { readReport, uploadReport } from '@flakiness/sdk';
import fs from 'fs';
import path from 'path';
const reportsBaseDir = 'flakiness-reports';
// Each artifact is downloaded to its own subdirectory
// e.g., flakiness-reports/flakiness-report-macos-shard-1/report.json
const shardDirs = fs.readdirSync(reportsBaseDir).filter(name =>
fs.statSync(path.join(reportsBaseDir, name)).isDirectory()
);
if (shardDirs.length === 0) {
console.log('No flakiness report directories found');
process.exit(0);
}
console.log(`Found ${shardDirs.length} shard report(s):`, shardDirs);
for (const shardDir of shardDirs) {
const reportDir = path.join(reportsBaseDir, shardDir);
const reportJsonPath = path.join(reportDir, 'report.json');
if (!fs.existsSync(reportJsonPath)) {
console.log(`Skipping ${shardDir}: no report.json found`);
continue;
}
console.log(`\nUploading flakiness report from: ${reportDir}`);
try {
const { report, attachments, missingAttachments } = await readReport(reportDir);
if (missingAttachments.length > 0) {
console.warn('Missing attachments:', missingAttachments.map(a => a.id));
}
const result = await uploadReport(report, attachments, {
flakinessEndpoint: 'https://flakiness.io'
});
console.log('Upload result:', result);
} catch (error) {
console.error(`Failed to upload ${shardDir}:`, error.message);
}
}
EOF
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论