Truncate args when added to cache key

- Remove excess whitespace
- Truncate to 400 characters
This commit is contained in:
Daz DeBoer 2021-08-23 14:33:49 -06:00
parent e0c2736e35
commit e5310e0c75
No known key found for this signature in database
GPG key ID: DD6B9F0B06683D5D
4 changed files with 43 additions and 11 deletions

View file

@ -4,7 +4,7 @@ import * as fs from 'fs'
import * as core from '@actions/core'
import * as cache from '@actions/cache'
import * as crypto from './crypto-utils'
import * as cacheUtils from './cache-utils'
import {
inputCacheKeyGlobs,
@ -35,10 +35,11 @@ export async function restoreCachedConfiguration(
const cacheKeyPrefix = 'configuration|'
const args = core.getInput('arguments')
const cacheKeyWithArgs = `${cacheKeyPrefix}${args}|`
const argsKey = cacheUtils.truncateArgs(args)
const cacheKeyWithArgs = `${cacheKeyPrefix}${argsKey}|`
const cacheKeyGlobs = inputCacheKeyGlobs('configuration-cache-key')
const hash = await crypto.hashFiles(rootDir, cacheKeyGlobs)
const hash = await cacheUtils.hashFiles(rootDir, cacheKeyGlobs)
const cacheKey = `${cacheKeyWithArgs}${hash}`
core.saveState(CONFIGURATION_CACHE_KEY, cacheKey)

View file

@ -5,7 +5,7 @@ import * as os from 'os'
import * as core from '@actions/core'
import * as cache from '@actions/cache'
import * as crypto from './crypto-utils'
import * as cacheUtils from './cache-utils'
const DEPENDENCIES_CACHE_PATH = 'DEPENDENCIES_CACHE_PATH'
const DEPENDENCIES_CACHE_KEY = 'DEPENDENCIES_CACHE_KEY'
@ -24,10 +24,11 @@ export async function restoreCachedDependencies(
const cacheKeyPrefix = 'dependencies|'
const args = core.getInput('arguments')
const cacheKeyWithArgs = `${cacheKeyPrefix}${args}|`
const argsKey = cacheUtils.truncateArgs(args)
const cacheKeyWithArgs = `${cacheKeyPrefix}${argsKey}|`
const cacheKeyGlobs = inputCacheKeyGlobs('dependencies-cache-key')
const hash = await crypto.hashFiles(rootDir, cacheKeyGlobs)
const hash = await cacheUtils.hashFiles(rootDir, cacheKeyGlobs)
const cacheKey = `${cacheKeyWithArgs}${hash}`
core.saveState(DEPENDENCIES_CACHE_KEY, cacheKey)

View file

@ -11,3 +11,7 @@ export async function hashFiles(
.join('\n')
return glob.hashFiles(combinedPatterns, {followSymbolicLinks})
}
export function truncateArgs(args: string): string {
return args.trim().replace(/\s+/g, ' ').substr(0, 400)
}