allow min pre release versions to be set

This commit is contained in:
Namrata Jha
2021-11-17 06:52:13 +00:00
committed by GitHub
parent 79a5c93b7a
commit e73aee77b1
6 changed files with 55 additions and 28 deletions

View File

@@ -19,12 +19,22 @@ export function getVersionIds(input: Input): Observable<string[]> {
map(versionInfo => {
const numberVersionsToDelete =
versionInfo.length - input.minVersionsToKeep
return numberVersionsToDelete <= 0
? []
: versionInfo
.filter(info => !input.ignoreVersions.test(info.version))
.map(info => info.id)
.slice(0, numberVersionsToDelete)
if (input.deletePreReleaseVersions == 'true') {
return numberVersionsToDelete <= 0
? []
: versionInfo
.filter(info => !input.ignoreVersions.test(info.version))
.map(info => info.id)
.slice(0, -input.minVersionsToKeep)
} else {
return numberVersionsToDelete <= 0
? []
: versionInfo
.filter(info => !input.ignoreVersions.test(info.version))
.map(info => info.id)
.slice(0, numberVersionsToDelete)
}
})
)
}

View File

@@ -47,8 +47,9 @@ export class Input {
this.token = validatedParams.token
if (this.deletePreReleaseVersions == 'true') {
this.numOldVersionsToDelete = 100
this.minVersionsToKeep = 0
this.numOldVersionsToDelete = 100 - this.minVersionsToKeep
this.minVersionsToKeep =
this.minVersionsToKeep > 0 ? this.minVersionsToKeep : 1
this.ignoreVersions = new RegExp('^(0|[1-9]\\d*)((\\.(0|[1-9]\\d*))*)$')
}
}

View File

@@ -16,7 +16,9 @@ function getActionInput(): Input {
numOldVersionsToDelete: Number(getInput('num-old-versions-to-delete')),
minVersionsToKeep: Number(getInput('min-versions-to-keep')),
ignoreVersions: RegExp(getInput('ignore-versions')),
deletePreReleaseVersions: getInput('delete-only-pre-release-versions'),
deletePreReleaseVersions: getInput(
'delete-only-pre-release-versions'
).toLowerCase(),
token: getInput('token')
})
}