From 51645777abc6553aa34bbb25c8e108a011ca137a Mon Sep 17 00:00:00 2001 From: colinmoynes Date: Tue, 23 Dec 2025 10:20:48 +0000 Subject: [PATCH 1/3] added a note for 'limit by size' deletion logic. --- src/content/artifact-management/retention-rules.mdx | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/content/artifact-management/retention-rules.mdx b/src/content/artifact-management/retention-rules.mdx index a30f9512..b56d74c3 100644 --- a/src/content/artifact-management/retention-rules.mdx +++ b/src/content/artifact-management/retention-rules.mdx @@ -85,6 +85,11 @@ This value applies per group. So, the maximum total number of packages to kept w ### Deletion order Packages are deleted based on the date pushed, starting with the oldest and being newest packages the latest to be deleted until a total of `TOTAL_PACKAGES - retention_count_limit` packages have been deleted. + +If "Limit by size" is selected, packages are deleted based on the semantic version, starting with the lowest version. For example, when deleting by size and if “Group Packages by Name” is selected, if packages `PkgA 1.1.1`, `PkgA 1.1.2`, `PkgB 0.20251223.git-12345a` and `PkgB 0.20251224.git12345b` are uploaded, `PkgA 1.1.1` and `PkgB 0.20251223.git12345a` are deleted. +`PkgA 1.1.1` is deleted as it has a lower patch increment. `PkgB 0.20251223.git12345a` is deleted as it's minor increment is lower. + + ### Groupings If grouping is selected, it applies to the rules to each "grouping". Otherwise, it's across all packages within a repository. From f8fa5dee57ebfc666d05a4e10f2f24ef83c284b9 Mon Sep 17 00:00:00 2001 From: Colin Moynes <77994705+colinmoynes@users.noreply.github.com> Date: Tue, 23 Dec 2025 10:30:20 +0000 Subject: [PATCH 2/3] Update src/content/artifact-management/retention-rules.mdx Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> --- src/content/artifact-management/retention-rules.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/content/artifact-management/retention-rules.mdx b/src/content/artifact-management/retention-rules.mdx index b56d74c3..96fd3f56 100644 --- a/src/content/artifact-management/retention-rules.mdx +++ b/src/content/artifact-management/retention-rules.mdx @@ -87,7 +87,7 @@ Packages are deleted based on the date pushed, starting with the oldest and bein If "Limit by size" is selected, packages are deleted based on the semantic version, starting with the lowest version. For example, when deleting by size and if “Group Packages by Name” is selected, if packages `PkgA 1.1.1`, `PkgA 1.1.2`, `PkgB 0.20251223.git-12345a` and `PkgB 0.20251224.git12345b` are uploaded, `PkgA 1.1.1` and `PkgB 0.20251223.git12345a` are deleted. -`PkgA 1.1.1` is deleted as it has a lower patch increment. `PkgB 0.20251223.git12345a` is deleted as it's minor increment is lower. +`PkgA 1.1.1` is deleted as it has a lower patch increment. `PkgB 0.20251223.git12345a` is deleted as its minor increment is lower. ### Groupings From 47f9209c082f8d74f40f856081ba05735ef1e67c Mon Sep 17 00:00:00 2001 From: Colin Moynes <77994705+colinmoynes@users.noreply.github.com> Date: Tue, 23 Dec 2025 15:48:42 +0000 Subject: [PATCH 3/3] Update retention rules for package deletion logic Clarified deletion logic for packages when 'Limit by size' is selected, including examples. --- src/content/artifact-management/retention-rules.mdx | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/content/artifact-management/retention-rules.mdx b/src/content/artifact-management/retention-rules.mdx index 96fd3f56..753ec047 100644 --- a/src/content/artifact-management/retention-rules.mdx +++ b/src/content/artifact-management/retention-rules.mdx @@ -86,8 +86,11 @@ This value applies per group. So, the maximum total number of packages to kept w Packages are deleted based on the date pushed, starting with the oldest and being newest packages the latest to be deleted until a total of `TOTAL_PACKAGES - retention_count_limit` packages have been deleted. -If "Limit by size" is selected, packages are deleted based on the semantic version, starting with the lowest version. For example, when deleting by size and if “Group Packages by Name” is selected, if packages `PkgA 1.1.1`, `PkgA 1.1.2`, `PkgB 0.20251223.git-12345a` and `PkgB 0.20251224.git12345b` are uploaded, `PkgA 1.1.1` and `PkgB 0.20251223.git12345a` are deleted. -`PkgA 1.1.1` is deleted as it has a lower patch increment. `PkgB 0.20251223.git12345a` is deleted as its minor increment is lower. +When "Limit by size" is selected: Packages are deleted based on their semantic version, starting with the lowest version number. If "Group Packages by Name" is also selected: The deletion logic applies to each package name individually. + +- Example: If you have PkgA (versions 1.1.1, 1.1.2) and PkgB (versions 0.20251223, 0.20251224). + +- Result: The system identifies the lowest version per name. PkgA 1.1.1 and PkgB 0.20251223 are deleted. ### Groupings