Compare commits

..

No commits in common. "master" and "v2.0.4" have entirely different histories.

2 changed files with 5 additions and 11 deletions

View File

@ -1,6 +1,6 @@
[project] [project]
name = "artifactapi" name = "artifactapi"
version = "2.0.5" version = "2.0.4"
description = "Generic artifact caching system with support for various package managers" description = "Generic artifact caching system with support for various package managers"
dependencies = [ dependencies = [
@ -44,7 +44,7 @@ dev = [
] ]
[tool.bumpversion] [tool.bumpversion]
current_version = "2.0.5" current_version = "2.0.4"
commit = true commit = true
tag = true tag = true
message = "Bump version: {current_version} → {new_version}" message = "Bump version: {current_version} → {new_version}"

View File

@ -116,12 +116,7 @@ def flush_cache(
# Flush S3 objects if requested # Flush S3 objects if requested
if cache_type in ["all", "files"]: if cache_type in ["all", "files"]:
try: try:
# Use prefix filtering for remote-specific deletion response = storage.client.list_objects_v2(Bucket=storage.bucket)
list_params = {"Bucket": storage.bucket}
if remote:
list_params["Prefix"] = f"{remote}/"
response = storage.client.list_objects_v2(**list_params)
if 'Contents' in response: if 'Contents' in response:
objects_to_delete = [obj['Key'] for obj in response['Contents']] objects_to_delete = [obj['Key'] for obj in response['Contents']]
@ -133,9 +128,8 @@ def flush_cache(
logger.warning(f"Failed to delete S3 object {key}: {e}") logger.warning(f"Failed to delete S3 object {key}: {e}")
if objects_to_delete: if objects_to_delete:
scope = f" for remote '{remote}'" if remote else "" result["flushed"]["operations"].append(f"Deleted {len(objects_to_delete)} S3 objects")
result["flushed"]["operations"].append(f"Deleted {len(objects_to_delete)} S3 objects{scope}") logger.info(f"Cache flush: Deleted {len(objects_to_delete)} S3 objects")
logger.info(f"Cache flush: Deleted {len(objects_to_delete)} S3 objects{scope}")
except Exception as e: except Exception as e:
result["flushed"]["operations"].append(f"S3 flush failed: {str(e)}") result["flushed"]["operations"].append(f"S3 flush failed: {str(e)}")