Compare commits
2 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
0d39a63126 | ||
|
|
8c3a64de32 |
@@ -60,7 +60,10 @@ This action deletes versions of a package from [GitHub Packages](https://github.
|
|||||||
|
|
||||||
# If true it will delete only the untagged versions in case of container package.
|
# If true it will delete only the untagged versions in case of container package.
|
||||||
# Does not work for other package types and will be ignored.
|
# Does not work for other package types and will be ignored.
|
||||||
|
# The number of untagged versions to keep can be set by using `min-versions-to-keep` value with this.
|
||||||
|
# When `min-versions-to-keep` is 0, all untagged versions get deleted.
|
||||||
# Defaults to false.
|
# Defaults to false.
|
||||||
|
# Cannot be used with `num-old-versions-to-delete`.
|
||||||
delete-only-untagged-versions:
|
delete-only-untagged-versions:
|
||||||
|
|
||||||
# The token used to authenticate with GitHub Packages.
|
# The token used to authenticate with GitHub Packages.
|
||||||
@@ -84,6 +87,8 @@ This action deletes versions of a package from [GitHub Packages](https://github.
|
|||||||
- `num-old-versions-to-delete` + `ignore-versions`
|
- `num-old-versions-to-delete` + `ignore-versions`
|
||||||
- `min-versions-to-keep` + `ignore-versions`
|
- `min-versions-to-keep` + `ignore-versions`
|
||||||
- `min-versions-to-keep` + `delete-only-pre-release-versions`
|
- `min-versions-to-keep` + `delete-only-pre-release-versions`
|
||||||
|
- `delete-only-untagged-versions`
|
||||||
|
- `min-versions-to-keep` + `delete-only-untagged-versions`
|
||||||
|
|
||||||
# Scenarios
|
# Scenarios
|
||||||
|
|
||||||
|
|||||||
@@ -58,6 +58,8 @@ inputs:
|
|||||||
delete-only-untagged-versions:
|
delete-only-untagged-versions:
|
||||||
description: >
|
description: >
|
||||||
Deletes only untagged versions in case of a container package. Does not work for other package types.
|
Deletes only untagged versions in case of a container package. Does not work for other package types.
|
||||||
|
The number of untagged versions to keep can be specified by min-versions-to-keep.
|
||||||
|
When this is set num-old-versions-to-delete will not be taken into account.
|
||||||
By default this is set to false
|
By default this is set to false
|
||||||
required: false
|
required: false
|
||||||
default: "false"
|
default: "false"
|
||||||
|
|||||||
15
dist/index.js
vendored
15
dist/index.js
vendored
@@ -31,6 +31,9 @@ function finalIds(input) {
|
|||||||
(0, operators_1.map)(value => {
|
(0, operators_1.map)(value => {
|
||||||
// we need to delete oldest versions first
|
// we need to delete oldest versions first
|
||||||
value.sort((a, b) => {
|
value.sort((a, b) => {
|
||||||
|
if (a.created_at === b.created_at) {
|
||||||
|
return a.id - b.id;
|
||||||
|
}
|
||||||
return (new Date(a.created_at).getTime() - new Date(b.created_at).getTime());
|
return (new Date(a.created_at).getTime() - new Date(b.created_at).getTime());
|
||||||
});
|
});
|
||||||
/*
|
/*
|
||||||
@@ -116,8 +119,13 @@ class Input {
|
|||||||
this.token);
|
this.token);
|
||||||
}
|
}
|
||||||
checkInput() {
|
checkInput() {
|
||||||
|
if (this.packageType.toLowerCase() !== 'container') {
|
||||||
|
this.deleteUntaggedVersions = 'false';
|
||||||
|
}
|
||||||
if (this.numOldVersionsToDelete > 1 &&
|
if (this.numOldVersionsToDelete > 1 &&
|
||||||
(this.minVersionsToKeep >= 0 || this.deletePreReleaseVersions === 'true')) {
|
(this.minVersionsToKeep >= 0 ||
|
||||||
|
this.deletePreReleaseVersions === 'true' ||
|
||||||
|
this.deleteUntaggedVersions === 'true')) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
if (this.packageType === '' || this.packageName === '') {
|
if (this.packageType === '' || this.packageName === '') {
|
||||||
@@ -128,8 +136,9 @@ class Input {
|
|||||||
this.minVersionsToKeep > 0 ? this.minVersionsToKeep : 0;
|
this.minVersionsToKeep > 0 ? this.minVersionsToKeep : 0;
|
||||||
this.ignoreVersions = new RegExp('^(0|[1-9]\\d*)((\\.(0|[1-9]\\d*))*)$');
|
this.ignoreVersions = new RegExp('^(0|[1-9]\\d*)((\\.(0|[1-9]\\d*))*)$');
|
||||||
}
|
}
|
||||||
if (this.packageType.toLowerCase() !== 'container') {
|
if (this.deleteUntaggedVersions === 'true') {
|
||||||
this.deleteUntaggedVersions = 'false';
|
this.minVersionsToKeep =
|
||||||
|
this.minVersionsToKeep > 0 ? this.minVersionsToKeep : 0;
|
||||||
}
|
}
|
||||||
if (this.minVersionsToKeep >= 0) {
|
if (this.minVersionsToKeep >= 0) {
|
||||||
this.numOldVersionsToDelete = 0;
|
this.numOldVersionsToDelete = 0;
|
||||||
|
|||||||
@@ -63,6 +63,9 @@ export function finalIds(input: Input): Observable<string[]> {
|
|||||||
map(value => {
|
map(value => {
|
||||||
// we need to delete oldest versions first
|
// we need to delete oldest versions first
|
||||||
value.sort((a, b) => {
|
value.sort((a, b) => {
|
||||||
|
if (a.created_at === b.created_at) {
|
||||||
|
return a.id - b.id
|
||||||
|
}
|
||||||
return (
|
return (
|
||||||
new Date(a.created_at).getTime() - new Date(b.created_at).getTime()
|
new Date(a.created_at).getTime() - new Date(b.created_at).getTime()
|
||||||
)
|
)
|
||||||
|
|||||||
13
src/input.ts
13
src/input.ts
@@ -63,9 +63,15 @@ export class Input {
|
|||||||
}
|
}
|
||||||
|
|
||||||
checkInput(): boolean {
|
checkInput(): boolean {
|
||||||
|
if (this.packageType.toLowerCase() !== 'container') {
|
||||||
|
this.deleteUntaggedVersions = 'false'
|
||||||
|
}
|
||||||
|
|
||||||
if (
|
if (
|
||||||
this.numOldVersionsToDelete > 1 &&
|
this.numOldVersionsToDelete > 1 &&
|
||||||
(this.minVersionsToKeep >= 0 || this.deletePreReleaseVersions === 'true')
|
(this.minVersionsToKeep >= 0 ||
|
||||||
|
this.deletePreReleaseVersions === 'true' ||
|
||||||
|
this.deleteUntaggedVersions === 'true')
|
||||||
) {
|
) {
|
||||||
return false
|
return false
|
||||||
}
|
}
|
||||||
@@ -80,8 +86,9 @@ export class Input {
|
|||||||
this.ignoreVersions = new RegExp('^(0|[1-9]\\d*)((\\.(0|[1-9]\\d*))*)$')
|
this.ignoreVersions = new RegExp('^(0|[1-9]\\d*)((\\.(0|[1-9]\\d*))*)$')
|
||||||
}
|
}
|
||||||
|
|
||||||
if (this.packageType.toLowerCase() !== 'container') {
|
if (this.deleteUntaggedVersions === 'true') {
|
||||||
this.deleteUntaggedVersions = 'false'
|
this.minVersionsToKeep =
|
||||||
|
this.minVersionsToKeep > 0 ? this.minVersionsToKeep : 0
|
||||||
}
|
}
|
||||||
|
|
||||||
if (this.minVersionsToKeep >= 0) {
|
if (this.minVersionsToKeep >= 0) {
|
||||||
|
|||||||
Reference in New Issue
Block a user