add mermaid diagramm creation for history metric

This commit is contained in:
jpaul 2023-11-28 11:30:03 +01:00
parent a7b6b6288b
commit c4a6b699d7
3 changed files with 97 additions and 15 deletions

36
dist/cleanup/index.js generated vendored
View File

@ -81872,16 +81872,15 @@ function generateReports() {
// core.info("pushEvents: " + pushEvents[0].created_at)
for (let i = 0; i < pushEvents.length; i++) {
// timestamps.push(pushEvents[i].created_at)
core.info("------------------------------------");
core.info(pushEvents[i].created_at);
shas.push(pushEvents[i].payload.commits[pushEvents[i].payload.commits.length - 1].sha);
}
const imageData = yield (0, utils_1.getImageData)(shas);
const prComment = createHistoryDiagramm(shas, imageData);
core.info(prComment);
yield (0, utils_1.createPRComment)(prComment);
// Extract data for plotting
// const commitDates = formatTimestamps(timestamps)
const imageData = yield (0, utils_1.getImageData)(shas);
// core.info(String(commitDates))
core.info(String(shas));
core.info(JSON.stringify(imageData));
}
if (arePRBaseComparisonEnabled()) {
const prMetrics = JSON.parse(yield (0, utils_1.getPrBaseBranchMetrics)());
@ -81968,6 +81967,33 @@ gantt
<em>Report generated by <a href="https://github.com/marketplace/actions/github-action-for-graalvm" target="_blank">setup-graalvm</a>.</em>`;
}
function createHistoryDiagramm(shas, metricDataList) {
let mermaidDiagramm = `## GraalVM Native Image PR comparison
#### Image Details
\`\`\`mermaid
gantt
title Native Image Size Details
todayMarker off
dateFormat X
axisFormat %
`;
for (let i = 0; i < metricDataList.length; i++) {
mermaidDiagramm = mermaidDiagramm + `
section ${shas[i]}
Total ${bytesToHuman(metricDataList[i].image_details.total_bytes)}: ${shas[i] === process.env.GITHUB_SHA ? 'active' : ''} 0, ${metricDataList[i].image_details.total_bytes}
`;
}
mermaidDiagramm = mermaidDiagramm + `
\`\`\`
<em>Report generated by <a href="https://github.com/marketplace/actions/github-action-for-graalvm" target="_blank">setup-graalvm</a>.</em>`;
return mermaidDiagramm;
}
function createReport(data) {
const context = github.context;
const info = data.general_info;

36
dist/main/index.js generated vendored
View File

@ -81971,16 +81971,15 @@ function generateReports() {
// core.info("pushEvents: " + pushEvents[0].created_at)
for (let i = 0; i < pushEvents.length; i++) {
// timestamps.push(pushEvents[i].created_at)
core.info("------------------------------------");
core.info(pushEvents[i].created_at);
shas.push(pushEvents[i].payload.commits[pushEvents[i].payload.commits.length - 1].sha);
}
const imageData = yield (0, utils_1.getImageData)(shas);
const prComment = createHistoryDiagramm(shas, imageData);
core.info(prComment);
yield (0, utils_1.createPRComment)(prComment);
// Extract data for plotting
// const commitDates = formatTimestamps(timestamps)
const imageData = yield (0, utils_1.getImageData)(shas);
// core.info(String(commitDates))
core.info(String(shas));
core.info(JSON.stringify(imageData));
}
if (arePRBaseComparisonEnabled()) {
const prMetrics = JSON.parse(yield (0, utils_1.getPrBaseBranchMetrics)());
@ -82067,6 +82066,33 @@ gantt
<em>Report generated by <a href="https://github.com/marketplace/actions/github-action-for-graalvm" target="_blank">setup-graalvm</a>.</em>`;
}
function createHistoryDiagramm(shas, metricDataList) {
let mermaidDiagramm = `## GraalVM Native Image PR comparison
#### Image Details
\`\`\`mermaid
gantt
title Native Image Size Details
todayMarker off
dateFormat X
axisFormat %
`;
for (let i = 0; i < metricDataList.length; i++) {
mermaidDiagramm = mermaidDiagramm + `
section ${shas[i]}
Total ${bytesToHuman(metricDataList[i].image_details.total_bytes)}: ${shas[i] === process.env.GITHUB_SHA ? 'active' : ''} 0, ${metricDataList[i].image_details.total_bytes}
`;
}
mermaidDiagramm = mermaidDiagramm + `
\`\`\`
<em>Report generated by <a href="https://github.com/marketplace/actions/github-action-for-graalvm" target="_blank">setup-graalvm</a>.</em>`;
return mermaidDiagramm;
}
function createReport(data) {
const context = github.context;
const info = data.general_info;

View File

@ -157,17 +157,18 @@ export async function generateReports(): Promise<void> {
// core.info("pushEvents: " + pushEvents[0].created_at)
for (let i=0; i < pushEvents.length; i++) {
// timestamps.push(pushEvents[i].created_at)
core.info("------------------------------------")
core.info(pushEvents[i].created_at)
shas.push(pushEvents[i].payload.commits[pushEvents[i].payload.commits.length - 1].sha)
}
const imageData = await getImageData(shas)
const prComment = createHistoryDiagramm(shas, imageData)
core.info(prComment)
await createPRComment(prComment)
// Extract data for plotting
// const commitDates = formatTimestamps(timestamps)
const imageData = await getImageData(shas)
// core.info(String(commitDates))
core.info(String(shas))
core.info(JSON.stringify(imageData))
}
@ -269,6 +270,35 @@ gantt
<em>Report generated by <a href="https://github.com/marketplace/actions/github-action-for-graalvm" target="_blank">setup-graalvm</a>.</em>`
}
function createHistoryDiagramm(shas: String[], metricDataList: any[]): string {
let mermaidDiagramm = `## GraalVM Native Image PR comparison
#### Image Details
\`\`\`mermaid
gantt
title Native Image Size Details
todayMarker off
dateFormat X
axisFormat %
`
for (let i=0; i<metricDataList.length; i++) {
mermaidDiagramm = mermaidDiagramm + `
section ${shas[i]}
Total ${bytesToHuman(metricDataList[i].image_details.total_bytes)}: ${shas[i] === process.env.GITHUB_SHA? 'active': ''} 0, ${metricDataList[i].image_details.total_bytes}
`
}
mermaidDiagramm = mermaidDiagramm + `
\`\`\`
<em>Report generated by <a href="https://github.com/marketplace/actions/github-action-for-graalvm" target="_blank">setup-graalvm</a>.</em>`
return mermaidDiagramm
}
function createReport(data: BuildOutput): string {
const context = github.context
const info = data.general_info