diff --git a/src/cache-reporting.ts b/src/cache-reporting.ts index 9cd0cbf..57c46f6 100644 --- a/src/cache-reporting.ts +++ b/src/cache-reporting.ts @@ -104,7 +104,7 @@ export class CacheEntryListener { } } -export function logCachingReport(listener: CacheListener): void { +export function writeCachingReport(listener: CacheListener): void { const entries = listener.cacheEntries core.summary.addRaw( @@ -123,10 +123,34 @@ export function logCachingReport(listener: CacheListener): void { core.summary.addHeading('Cache Entry Details', 5) - const entryDetails = listener.cacheEntries + const entryDetails = renderEntryDetails(listener) + core.summary.addRaw(`
+${entryDetails} ++ +`) +} + +export function logCachingReport(listener: CacheListener): void { + const entries = listener.cacheEntries + + core.startGroup(`Caching for gradle-build-action was ${listener.cacheStatus} - expand for details`) + + core.info( + `Entries Restored: ${getCount(entries, e => e.restoredSize)} (${getSize(entries, e => e.restoredSize)} Mb)` + ) + core.info(`Entries Saved : ${getCount(entries, e => e.savedSize)} (${getSize(entries, e => e.savedSize)} Mb)`) + + core.info(`Cache Entry Details`) + core.info(renderEntryDetails(listener)) + + core.endGroup() +} + +function renderEntryDetails(listener: CacheListener): string { + return listener.cacheEntries .map( - entry => - `Entry: ${entry.entryName} + entry => `Entry: ${entry.entryName} Requested Key : ${entry.requestedKey ?? ''} Restored Key : ${entry.restoredKey ?? ''} Size: ${formatSize(entry.restoredSize)} @@ -137,12 +161,6 @@ export function logCachingReport(listener: CacheListener): void { ` ) .join('---\n') - - core.summary.addRaw(`
-${entryDetails} -- -`) } function getRestoredMessage(entry: CacheEntryListener, isCacheWriteOnly: boolean): string { diff --git a/src/job-summary.ts b/src/job-summary.ts index 1def3a8..f7fc425 100644 --- a/src/job-summary.ts +++ b/src/job-summary.ts @@ -1,7 +1,7 @@ import * as core from '@actions/core' import fs from 'fs' import path from 'path' -import {logCachingReport, CacheListener} from './cache-reporting' +import {writeCachingReport, CacheListener, logCachingReport} from './cache-reporting' export interface BuildResult { get rootProjectName(): string @@ -23,11 +23,21 @@ export async function writeJobSummary(buildResults: BuildResult[], cacheListener writeSummaryTable(buildResults) } - logCachingReport(cacheListener) + writeCachingReport(cacheListener) await core.summary.write() } +export async function logJobSummary(buildResults: BuildResult[], cacheListener: CacheListener): Promise