add ignore versions property
This commit is contained in:
+8
-1
@@ -39,7 +39,14 @@ inputs:
|
|||||||
Number of versions to keep starting with the latest version
|
Number of versions to keep starting with the latest version
|
||||||
required: false
|
required: false
|
||||||
default: "1"
|
default: "1"
|
||||||
|
|
||||||
|
ignore-versions:
|
||||||
|
description: >
|
||||||
|
Comma seperated regex patterns of versions to ignore.
|
||||||
|
Defaults to all major release versions and only deletes pre-release versions.
|
||||||
|
required: false
|
||||||
|
default: "^[\d*]+.[\d*]+.[0*]+$"
|
||||||
|
|
||||||
token:
|
token:
|
||||||
description: >
|
description: >
|
||||||
Token with the necessary scopes to delete package versions.
|
Token with the necessary scopes to delete package versions.
|
||||||
|
|||||||
Vendored
+7
-1
@@ -36,7 +36,10 @@ function getVersionIds(input) {
|
|||||||
const numberVersionsToDelete = versionInfo.length - input.minVersionsToKeep;
|
const numberVersionsToDelete = versionInfo.length - input.minVersionsToKeep;
|
||||||
return numberVersionsToDelete <= 0
|
return numberVersionsToDelete <= 0
|
||||||
? []
|
? []
|
||||||
: versionInfo.slice(0, numberVersionsToDelete).map(info => info.id);
|
: versionInfo
|
||||||
|
.filter(info => !input.ignoreVersions.test(info.version))
|
||||||
|
.map(info => info.id)
|
||||||
|
.slice(0, numberVersionsToDelete);
|
||||||
}));
|
}));
|
||||||
}
|
}
|
||||||
return rxjs_1.throwError("Could not get packageVersionIds. Explicitly specify using the 'package-version-ids' input or provide the 'package-name' and 'num-old-versions-to-delete' inputs to dynamically retrieve oldest versions");
|
return rxjs_1.throwError("Could not get packageVersionIds. Explicitly specify using the 'package-version-ids' input or provide the 'package-name' and 'num-old-versions-to-delete' inputs to dynamically retrieve oldest versions");
|
||||||
@@ -71,6 +74,7 @@ const defaultParams = {
|
|||||||
packageName: '',
|
packageName: '',
|
||||||
numOldVersionsToDelete: 0,
|
numOldVersionsToDelete: 0,
|
||||||
minVersionsToKeep: 0,
|
minVersionsToKeep: 0,
|
||||||
|
ignoreVersions: new RegExp(''),
|
||||||
token: ''
|
token: ''
|
||||||
};
|
};
|
||||||
class Input {
|
class Input {
|
||||||
@@ -82,6 +86,7 @@ class Input {
|
|||||||
this.packageName = validatedParams.packageName;
|
this.packageName = validatedParams.packageName;
|
||||||
this.numOldVersionsToDelete = validatedParams.numOldVersionsToDelete;
|
this.numOldVersionsToDelete = validatedParams.numOldVersionsToDelete;
|
||||||
this.minVersionsToKeep = validatedParams.minVersionsToKeep;
|
this.minVersionsToKeep = validatedParams.minVersionsToKeep;
|
||||||
|
this.ignoreVersions = validatedParams.ignoreVersions;
|
||||||
this.token = validatedParams.token;
|
this.token = validatedParams.token;
|
||||||
}
|
}
|
||||||
hasOldestVersionQueryInfo() {
|
hasOldestVersionQueryInfo() {
|
||||||
@@ -40309,6 +40314,7 @@ function getActionInput() {
|
|||||||
packageName: core_1.getInput('package-name'),
|
packageName: core_1.getInput('package-name'),
|
||||||
numOldVersionsToDelete: Number(core_1.getInput('num-old-versions-to-delete')),
|
numOldVersionsToDelete: Number(core_1.getInput('num-old-versions-to-delete')),
|
||||||
minVersionsToKeep: Number(core_1.getInput('min-versions-to-keep')),
|
minVersionsToKeep: Number(core_1.getInput('min-versions-to-keep')),
|
||||||
|
ignoreVersions: RegExp(core_1.getInput('ignore-versions')),
|
||||||
token: core_1.getInput('token')
|
token: core_1.getInput('token')
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|||||||
+4
-1
@@ -21,7 +21,10 @@ export function getVersionIds(input: Input): Observable<string[]> {
|
|||||||
versionInfo.length - input.minVersionsToKeep
|
versionInfo.length - input.minVersionsToKeep
|
||||||
return numberVersionsToDelete <= 0
|
return numberVersionsToDelete <= 0
|
||||||
? []
|
? []
|
||||||
: versionInfo.slice(0, numberVersionsToDelete).map(info => info.id)
|
: versionInfo
|
||||||
|
.filter(info => !input.ignoreVersions.test(info.version))
|
||||||
|
.map(info => info.id)
|
||||||
|
.slice(0, numberVersionsToDelete)
|
||||||
})
|
})
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -5,6 +5,7 @@ export interface InputParams {
|
|||||||
packageName?: string
|
packageName?: string
|
||||||
numOldVersionsToDelete?: number
|
numOldVersionsToDelete?: number
|
||||||
minVersionsToKeep?: number
|
minVersionsToKeep?: number
|
||||||
|
ignoreVersions?: RegExp
|
||||||
token?: string
|
token?: string
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -15,6 +16,7 @@ const defaultParams = {
|
|||||||
packageName: '',
|
packageName: '',
|
||||||
numOldVersionsToDelete: 0,
|
numOldVersionsToDelete: 0,
|
||||||
minVersionsToKeep: 0,
|
minVersionsToKeep: 0,
|
||||||
|
ignoreVersions: new RegExp(''),
|
||||||
token: ''
|
token: ''
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -25,6 +27,7 @@ export class Input {
|
|||||||
packageName: string
|
packageName: string
|
||||||
numOldVersionsToDelete: number
|
numOldVersionsToDelete: number
|
||||||
minVersionsToKeep: number
|
minVersionsToKeep: number
|
||||||
|
ignoreVersions: RegExp
|
||||||
token: string
|
token: string
|
||||||
|
|
||||||
constructor(params?: InputParams) {
|
constructor(params?: InputParams) {
|
||||||
@@ -36,6 +39,7 @@ export class Input {
|
|||||||
this.packageName = validatedParams.packageName
|
this.packageName = validatedParams.packageName
|
||||||
this.numOldVersionsToDelete = validatedParams.numOldVersionsToDelete
|
this.numOldVersionsToDelete = validatedParams.numOldVersionsToDelete
|
||||||
this.minVersionsToKeep = validatedParams.minVersionsToKeep
|
this.minVersionsToKeep = validatedParams.minVersionsToKeep
|
||||||
|
this.ignoreVersions = validatedParams.ignoreVersions
|
||||||
this.token = validatedParams.token
|
this.token = validatedParams.token
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -15,6 +15,7 @@ function getActionInput(): Input {
|
|||||||
packageName: getInput('package-name'),
|
packageName: getInput('package-name'),
|
||||||
numOldVersionsToDelete: Number(getInput('num-old-versions-to-delete')),
|
numOldVersionsToDelete: Number(getInput('num-old-versions-to-delete')),
|
||||||
minVersionsToKeep: Number(getInput('min-versions-to-keep')),
|
minVersionsToKeep: Number(getInput('min-versions-to-keep')),
|
||||||
|
ignoreVersions: RegExp(getInput('ignore-versions')),
|
||||||
token: getInput('token')
|
token: getInput('token')
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user