From 6ca4d4ade261fe6e5267b627625730e55b17d7bf Mon Sep 17 00:00:00 2001 From: Daz DeBoer Date: Sat, 30 Oct 2021 07:39:21 -0600 Subject: [PATCH] Improve formatting for caching report --- src/cache-base.ts | 2 +- src/cache-project-dot-gradle.ts | 2 +- src/caches.ts | 25 ++++++++++++++++--------- 3 files changed, 18 insertions(+), 11 deletions(-) diff --git a/src/cache-base.ts b/src/cache-base.ts index efee35b..e7bba99 100644 --- a/src/cache-base.ts +++ b/src/cache-base.ts @@ -132,7 +132,7 @@ export abstract class AbstractCache { } const cacheKey = this.prepareCacheKey() - const entryReport = listener.entry(this.cacheName) + const entryReport = listener.entry(this.cacheDescription) entryReport.markRequested(cacheKey.key, cacheKey.restoreKeys) this.debug( diff --git a/src/cache-project-dot-gradle.ts b/src/cache-project-dot-gradle.ts index fa6c218..e4ae252 100644 --- a/src/cache-project-dot-gradle.ts +++ b/src/cache-project-dot-gradle.ts @@ -10,7 +10,7 @@ const PATHS_TO_CACHE = [ export class ProjectDotGradleCache extends AbstractCache { private rootDir: string constructor(rootDir: string) { - super('project', 'Project .gradle directory') + super('project', 'Project configuration cache') this.rootDir = rootDir } diff --git a/src/caches.ts b/src/caches.ts index 8eb9200..9f8a57f 100644 --- a/src/caches.ts +++ b/src/caches.ts @@ -5,7 +5,7 @@ import {isCacheDisabled, isCacheReadOnly} from './cache-utils' import {CacheListener} from './cache-base' const BUILD_ROOT_DIR = 'BUILD_ROOT_DIR' -const CACHING_REPORT = 'CACHING_REPORT' +const CACHE_LISTENER = 'CACHE_LISTENER' export async function restore(buildRootDirectory: string): Promise { if (isCacheDisabled()) { @@ -29,29 +29,36 @@ export async function restore(buildRootDirectory: string): Promise { projectDotGradleCache.prepareCacheKey() } - core.saveState(CACHING_REPORT, cacheListener.stringify()) + core.saveState(CACHE_LISTENER, cacheListener.stringify()) }) } export async function save(): Promise { + const cacheListener: CacheListener = CacheListener.rehydrate(core.getState(CACHE_LISTENER)) + if (isCacheReadOnly()) { core.info('Cache is read-only: will not save state for use in subsequent builds.') + logCachingReport(cacheListener) return } - const cachingReport: CacheListener = CacheListener.rehydrate(core.getState(CACHING_REPORT)) - await core.group('Caching Gradle state', async () => { const buildRootDirectory = core.getState(BUILD_ROOT_DIR) return Promise.all([ - new GradleUserHomeCache(buildRootDirectory).save(cachingReport), - new ProjectDotGradleCache(buildRootDirectory).save(cachingReport) + new GradleUserHomeCache(buildRootDirectory).save(cacheListener), + new ProjectDotGradleCache(buildRootDirectory).save(cacheListener) ]) }) - logCachingReport(cachingReport) + logCachingReport(cacheListener) } -function logCachingReport(report: CacheListener): void { - core.info(JSON.stringify(report, null, 2)) +function logCachingReport(listener: CacheListener): void { + core.info('---------- CACHING REPORT -------------') + for (const entry of listener.cacheEntries) { + core.info(`${entry.entryName} + Requested Key: ${entry.requestedKey ?? ''} + Restored Key : ${entry.restoredKey ?? ''} + Saved Key : ${entry.savedKey ?? ''}`) + } }