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