keep min package versions from deletion

This commit is contained in:
Namrata Jha
2021-11-08 07:25:16 +00:00
committed by GitHub
parent 0739f428e7
commit 18061036ba
10 changed files with 24178 additions and 21150 deletions

View File

@@ -15,7 +15,15 @@ export function getVersionIds(input: Input): Observable<string[]> {
input.packageName,
input.numOldVersionsToDelete,
input.token
).pipe(map(versionInfo => versionInfo.map(info => info.id)))
).pipe(
map(versionInfo => {
const numberVersionsToDelete =
versionInfo.length - input.minVersionsToKeep
return numberVersionsToDelete <= 0
? []
: versionInfo.slice(0, numberVersionsToDelete).map(info => info.id)
})
)
}
return throwError(

View File

@@ -4,6 +4,7 @@ export interface InputParams {
repo?: string
packageName?: string
numOldVersionsToDelete?: number
minVersionsToKeep?: number
token?: string
}
@@ -13,6 +14,7 @@ const defaultParams = {
repo: '',
packageName: '',
numOldVersionsToDelete: 0,
minVersionsToKeep: 0,
token: ''
}
@@ -22,6 +24,7 @@ export class Input {
repo: string
packageName: string
numOldVersionsToDelete: number
minVersionsToKeep: number
token: string
constructor(params?: InputParams) {
@@ -32,6 +35,7 @@ export class Input {
this.repo = validatedParams.repo
this.packageName = validatedParams.packageName
this.numOldVersionsToDelete = validatedParams.numOldVersionsToDelete
this.minVersionsToKeep = validatedParams.minVersionsToKeep
this.token = validatedParams.token
}
@@ -41,6 +45,7 @@ export class Input {
this.repo &&
this.packageName &&
this.numOldVersionsToDelete > 0 &&
this.minVersionsToKeep > 0 &&
this.token
)
}

View File

@@ -14,6 +14,7 @@ function getActionInput(): Input {
repo: getInput('repo') ? getInput('repo') : context.repo.repo,
packageName: getInput('package-name'),
numOldVersionsToDelete: Number(getInput('num-old-versions-to-delete')),
minVersionsToKeep: Number(getInput('min-versions-to-keep')),
token: getInput('token')
})
}