Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
21 changes: 8 additions & 13 deletions src/cmd-coreos-prune
Original file line number Diff line number Diff line change
Expand Up @@ -125,6 +125,7 @@ def main():
for build in reversed(builds):
build_id = build["id"]
build_date = parse_fcos_version_to_timestamp(build_id)
actions_completed = []

# For each build, iterate over arches first to minimize downloads of meta.json per arch
for arch in build["arches"]:
Expand Down Expand Up @@ -188,20 +189,14 @@ def main():
prune_container(tag, args.dry_run, container_repo, args.registry_auth_file)
else:
print(f"No container tags to prune for build {build_id}.")
# Update policy-cleanup after pruning actions for the architecture
actions_completed.append(action) # Append action to completed list
# Update policy-cleanup for completed actions
policy_cleanup = build.setdefault("policy-cleanup", {})
for action in policy[stream].keys(): # Only update actions specified in policy[stream]
match action:
case "cloud-uploads":
if "cloud-uploads" not in policy_cleanup:
policy_cleanup["cloud-uploads"] = True
case "images":
if "images" not in policy_cleanup:
policy_cleanup["images"] = True
policy_cleanup["images-kept"] = images_to_keep
case "containers":
if "containers" not in policy_cleanup:
policy_cleanup["containers"] = True
for action in actions_completed:
if action == "images":
policy_cleanup["images-kept"] = images_to_keep
else:
policy_cleanup[action] = True

if pruned_build_ids:
if "tombstone-builds" not in builds_json_data:
Expand Down
Loading