Files
delete-package-versions/src/main.ts
T

47 lines
1.4 KiB
TypeScript
Raw Normal View History

2022-12-28 14:43:50 +00:00
/* eslint-disable @typescript-eslint/no-unused-vars */
2020-02-29 19:33:20 -06:00
import {getInput, setFailed} from '@actions/core'
import {context} from '@actions/github'
import {Input} from './input'
import {Observable, throwError} from 'rxjs'
import {deleteVersions} from './delete'
import {catchError} from 'rxjs/operators'
2020-01-29 10:13:06 -05:00
2020-02-29 19:33:20 -06:00
function getActionInput(): Input {
2022-12-28 12:56:30 +00:00
console.log('this is deletion using rest APIs')
2020-02-29 19:33:20 -06:00
return new Input({
packageVersionIds: getInput('package-version-ids')
? getInput('package-version-ids').split(',')
: [],
owner: getInput('owner') ? getInput('owner') : context.repo.owner,
repo: getInput('repo') ? getInput('repo') : context.repo.repo,
packageName: getInput('package-name'),
2022-12-27 14:35:56 +00:00
packageType: getInput('package-type'),
2020-02-29 19:33:20 -06:00
numOldVersionsToDelete: Number(getInput('num-old-versions-to-delete')),
2021-11-08 07:25:16 +00:00
minVersionsToKeep: Number(getInput('min-versions-to-keep')),
2021-11-12 03:46:59 +00:00
ignoreVersions: RegExp(getInput('ignore-versions')),
2021-11-17 06:52:13 +00:00
deletePreReleaseVersions: getInput(
'delete-only-pre-release-versions'
).toLowerCase(),
2020-02-29 19:33:20 -06:00
token: getInput('token')
})
}
function run(): Observable<boolean> {
2020-01-29 10:13:06 -05:00
try {
2020-02-29 19:33:20 -06:00
return deleteVersions(getActionInput()).pipe(
catchError(err => throwError(err))
)
2020-01-29 10:13:06 -05:00
} catch (error) {
2022-12-28 14:43:50 +00:00
if (error instanceof Error) {
return throwError(error.message)
}
return throwError(error)
2020-01-29 10:13:06 -05:00
}
}
2020-02-29 19:33:20 -06:00
run().subscribe({
error: err => {
setFailed(err)
}
})