From 4ff5680310c3533a0e6ac30e0001fe8654d4b0c3 Mon Sep 17 00:00:00 2001 From: edraft Date: Sun, 15 Feb 2026 10:29:52 +0100 Subject: [PATCH] Changed logging --- sh.actions.package-cleanup/Program.cs | 4 ++ sh.actions.package-cleanup/Worker.cs | 56 ++++++--------------------- 2 files changed, 15 insertions(+), 45 deletions(-) diff --git a/sh.actions.package-cleanup/Program.cs b/sh.actions.package-cleanup/Program.cs index 33f69d3..a386024 100644 --- a/sh.actions.package-cleanup/Program.cs +++ b/sh.actions.package-cleanup/Program.cs @@ -15,5 +15,9 @@ builder.Services .AddHostedService() .AddHttpClient(); +builder.Logging.ClearProviders(); +builder.Logging.AddConsole(); +builder.Logging.SetMinimumLevel(LogLevel.Debug); + var host = builder.Build(); await host.RunAsync(); diff --git a/sh.actions.package-cleanup/Worker.cs b/sh.actions.package-cleanup/Worker.cs index 659d965..e87ddb3 100644 --- a/sh.actions.package-cleanup/Worker.cs +++ b/sh.actions.package-cleanup/Worker.cs @@ -11,50 +11,26 @@ public class Worker( IGiteaPackageService giteaPackageService ) : BackgroundService { - private async Task DeletePackages(List packages, CancellationToken cancellationToken = default) + private async Task DeletePackages(List packages, CancellationToken cancellationToken = default) { var dryRun = configuration["DRY_RUN"]?.ToLower() == "true"; if (dryRun) { logger.LogInformation("Dry run enabled, not deleting {Count} packages", packages.Count); - return 0; } - var deletedCount = 0; foreach (var giteaPackage in packages) { try { await giteaPackageService.DeletePackage(giteaPackage, cancellationToken); - deletedCount++; } catch (Exception ex) { - logger.LogError(ex, "Failed to delete package {PackageName} version {Version}", + logger.LogError(ex, "Failed to delete package {PackageName} version {Version}", giteaPackage.Name, giteaPackage.Version); } } - return deletedCount; - } - - private void WriteGitHubOutput(string name, string value) - { - var githubOutput = configuration["GITHUB_OUTPUT"]; - if (string.IsNullOrEmpty(githubOutput)) - { - logger.LogDebug("GITHUB_OUTPUT not set, skipping output: {Name}={Value}", name, value); - return; - } - - try - { - File.AppendAllText(githubOutput, $"{name}={value}{Environment.NewLine}"); - logger.LogInformation("Wrote to GITHUB_OUTPUT: {Name}={Value}", name, value); - } - catch (Exception ex) - { - logger.LogError(ex, "Failed to write to GITHUB_OUTPUT file"); - } } protected override async Task ExecuteAsync(CancellationToken cancellationToken) @@ -68,43 +44,33 @@ public class Worker( if (names.Length == 0) { logger.LogWarning("No package names configured"); - WriteGitHubOutput("deleted_packages", "0"); - WriteGitHubOutput("processed_names", "0"); appLifetime.StopApplication(); return; } - var totalDeleted = 0; - // Process each name separately: collect -> filter -> delete foreach (var name in names) { logger.LogInformation("Processing packages for name '{Name}'", name); - + var packages = (await giteaPackageService.GetPackagesByNameAsync(name, cancellationToken)).ToList(); logger.LogInformation("Found {Count} packages for name '{Name}'", packages.Count, name); - + var packagesToDelete = packageService.FilterPackagesToDelete(packages); - logger.LogInformation("Found {Count} packages to delete for name '{Name}'", packagesToDelete.Count, name); - - var deletedCount = await DeletePackages(packagesToDelete, cancellationToken); - totalDeleted += deletedCount; - logger.LogInformation("Deleted {Count} packages for name '{Name}'", deletedCount, name); - + logger.LogInformation("Found {Count} packages to delete for name '{Name}'", packagesToDelete.Count, + name); + + await DeletePackages(packagesToDelete, cancellationToken); + logger.LogInformation("Deleted {Count} packages for name '{Name}'", packagesToDelete.Count, name); + logger.LogInformation("Cleanup finished for name '{Name}'", name); } - + logger.LogInformation("All package names processed successfully"); - - // Write outputs to GITHUB_OUTPUT - WriteGitHubOutput("deleted_packages", totalDeleted.ToString()); - WriteGitHubOutput("processed_names", names.Length.ToString()); } catch (Exception ex) { logger.LogError(ex, "Cleanup failed with an error"); - WriteGitHubOutput("deleted_packages", "0"); - WriteGitHubOutput("processed_names", "0"); } finally {