diff --git a/gitea/download-previous-artifacts/download-previous-artifacts.cs b/gitea/download-previous-artifacts/download-previous-artifacts.cs index a2b7229..2e58e89 100644 --- a/gitea/download-previous-artifacts/download-previous-artifacts.cs +++ b/gitea/download-previous-artifacts/download-previous-artifacts.cs @@ -52,6 +52,10 @@ string artifactPattern = configuration["artifactPattern"] ?? "*"; Regex artifactRegex = WildcardToRegex(artifactPattern); string unzipDir = configuration["unzipDir"] ?? string.Empty; +if (!string.IsNullOrEmpty(unzipDir) && !Path.IsPathFullyQualified(unzipDir)) +{ + unzipDir = Path.Combine(currentDir, unzipDir); +} bool.TryParse(configuration["deleteAfterUnzip"], out bool deleteAfterUnzip); // Configure services @@ -118,6 +122,7 @@ if (artifactsResponse.Artifacts.Count == 0) IEnumerable artifactsToDownload = artifactsResponse.Artifacts.Where(a => artifactRegex.IsMatch(a.Name)); +Console.WriteLine("Downloading artifacts:"); foreach (ActionArtifact artifact in artifactsToDownload) { Console.WriteLine($"Artifact: {artifact.Name}, URL: {artifact.ArchiveDownloadUrl}"); @@ -142,9 +147,11 @@ foreach (ActionArtifact artifact in artifactsToDownload) Console.WriteLine($"Downloaded: {fileName}"); if (string.IsNullOrEmpty(unzipDir)) continue; + string fullUnzipDir = Path.Combine(unzipDir, artifact.Name); + Directory.CreateDirectory(fullUnzipDir); - Console.WriteLine($"Unzipping: {fileName} to {unzipDir}"); - System.IO.Compression.ZipFile.ExtractToDirectory(fileName, unzipDir, true); + Console.WriteLine($"Unzipping: {fileName} to {fullUnzipDir}"); + System.IO.Compression.ZipFile.ExtractToDirectory(fileName, fullUnzipDir, true); if (deleteAfterUnzip) { File.Delete(fileName);