mirror of
https://github.com/pnpm/action-setup.git
synced 2026-01-14 20:41:17 +08:00
feat: store caching (#188)
* add pnpm store caching * style: format * no semicolons * no star imports * import order * style: no star imports --------- Co-authored-by: khai96_ <hvksmr1996@gmail.com>
This commit is contained in:
24
src/index.ts
24
src/index.ts
@@ -1,5 +1,7 @@
|
||||
import { setFailed, saveState, getState } from '@actions/core'
|
||||
import getInputs from './inputs'
|
||||
import restoreCache from './cache-restore'
|
||||
import saveCache from './cache-save'
|
||||
import getInputs, { Inputs } from './inputs'
|
||||
import installPnpm from './install-pnpm'
|
||||
import setOutputs from './outputs'
|
||||
import pnpmInstall from './pnpm-install'
|
||||
@@ -7,15 +9,31 @@ import pruneStore from './pnpm-store-prune'
|
||||
|
||||
async function main() {
|
||||
const inputs = getInputs()
|
||||
const isPost = getState('is_post')
|
||||
if (isPost === 'true') return pruneStore(inputs)
|
||||
|
||||
if (getState('is_post') === 'true') {
|
||||
await runPost(inputs)
|
||||
} else {
|
||||
await runMain(inputs)
|
||||
}
|
||||
}
|
||||
|
||||
async function runMain(inputs: Inputs) {
|
||||
saveState('is_post', 'true')
|
||||
|
||||
await installPnpm(inputs)
|
||||
console.log('Installation Completed!')
|
||||
setOutputs(inputs)
|
||||
|
||||
await restoreCache(inputs)
|
||||
|
||||
pnpmInstall(inputs)
|
||||
}
|
||||
|
||||
async function runPost(inputs: Inputs) {
|
||||
pruneStore(inputs)
|
||||
await saveCache(inputs)
|
||||
}
|
||||
|
||||
main().catch(error => {
|
||||
console.error(error)
|
||||
setFailed(error)
|
||||
|
||||
Reference in New Issue
Block a user