af2631a0a7
Test Action / Test with default inputs (windows-latest, 9.15.5) (push) Has been cancelled
Test Action / Test with dest (macos-latest, 9.15.5) (push) Has been cancelled
Test Action / Test with dest (ubuntu-latest, 9.15.5) (push) Has been cancelled
Test Action / Test with default inputs (macos-latest, 9.15.5) (push) Has been cancelled
Test Action / Test with default inputs (ubuntu-latest, 9.15.5) (push) Has been cancelled
Test Action / Test with dest (windows-latest, 9.15.5) (push) Has been cancelled
Test Action / Test with standalone (ubuntu-latest, false) (push) Has been cancelled
Test Action / Test with standalone (ubuntu-latest, true) (push) Has been cancelled
Test Action / Test with standalone (windows-latest, false) (push) Has been cancelled
Test Action / Test with standalone (windows-latest, true) (push) Has been cancelled
Test Action / Test with run_install (array, macos-latest) (push) Has been cancelled
Test Action / Test with run_install (empty object, macos-latest) (push) Has been cancelled
Test Action / Test with run_install (global, macos-latest) (push) Has been cancelled
Test Action / Test with run_install (null, macos-latest) (push) Has been cancelled
Test Action / Test with run_install (recursive, macos-latest) (push) Has been cancelled
Test Action / Test with run_install (array, ubuntu-latest) (push) Has been cancelled
Test Action / Test with run_install (empty object, ubuntu-latest) (push) Has been cancelled
Test Action / Test with run_install (global, ubuntu-latest) (push) Has been cancelled
Test Action / Test with run_install (null, ubuntu-latest) (push) Has been cancelled
Test Action / Test with run_install (recursive, ubuntu-latest) (push) Has been cancelled
Test Action / Test with run_install (array, windows-latest) (push) Has been cancelled
Test Action / Test with run_install (empty object, windows-latest) (push) Has been cancelled
Test Action / Test with run_install (global, windows-latest) (push) Has been cancelled
Test Action / Test with run_install (null, windows-latest) (push) Has been cancelled
Test Action / Test with run_install (recursive, windows-latest) (push) Has been cancelled
40 lines
1.2 KiB
TypeScript
40 lines
1.2 KiB
TypeScript
import { restoreCache } from '@actions/cache'
|
|
import { debug, info, saveState, setOutput } from '@actions/core'
|
|
import { getExecOutput } from '@actions/exec'
|
|
import { hashFiles } from '@actions/glob'
|
|
import os from 'os'
|
|
import { Inputs } from '../inputs'
|
|
|
|
export async function runRestoreCache(inputs: Inputs) {
|
|
const cachePath = await getCacheDirectory()
|
|
saveState('cache_path', cachePath)
|
|
|
|
const fileHash = await hashFiles(inputs.cacheDependencyPath)
|
|
if (!fileHash) {
|
|
throw new Error('Some specified paths were not resolved, unable to cache dependencies.')
|
|
}
|
|
|
|
const primaryKey = `pnpm-cache-${process.env.RUNNER_OS}-${os.arch()}-${fileHash}`
|
|
debug(`Primary key is ${primaryKey}`)
|
|
saveState('cache_primary_key', primaryKey)
|
|
|
|
let cacheKey = await restoreCache([cachePath], primaryKey)
|
|
|
|
setOutput('cache-hit', Boolean(cacheKey))
|
|
|
|
if (!cacheKey) {
|
|
info(`Cache is not found`)
|
|
return
|
|
}
|
|
|
|
saveState('cache_restored_key', cacheKey)
|
|
info(`Cache restored from key: ${cacheKey}`)
|
|
}
|
|
|
|
async function getCacheDirectory() {
|
|
const { stdout } = await getExecOutput('pnpm store path --silent')
|
|
const cacheFolderPath = stdout.trim()
|
|
debug(`Cache folder is set to "${cacheFolderPath}"`)
|
|
return cacheFolderPath
|
|
}
|