using CliWrap.Buffered; using ParallelPipelines.Application.Attributes; using ParallelPipelines.Domain.Entities; using ParallelPipelines.Host.Helpers; namespace Deploy.Steps; [DependsOnStep] public class CreateWindowsRelease : IStep { public async Task RunStep(CancellationToken cancellationToken) { var godotPublishDirectory = await PipelineFileHelper.GitRootDirectory.GetDirectory("./artifacts/publish-godot"); godotPublishDirectory.Create(); var windowsPublishDirectory = await godotPublishDirectory.GetDirectory("./win"); windowsPublishDirectory.Create(); var godotProjectFile = await PipelineFileHelper.GitRootDirectory.GetFile("./src/SharpIDE.Godot/project.godot"); var godotExportResult = await PipelineCliHelper.RunCliCommandAsync( "godot", $"--headless --verbose --export-release Windows --project {godotProjectFile.GetFullNameUnix()}", cancellationToken ); return [godotExportResult]; } }