From 93e8b95135b47bb0269e23e8b6228f61daa675d7 Mon Sep 17 00:00:00 2001 From: Matt Parker <61717342+MattParkerDev@users.noreply.github.com> Date: Sat, 15 Nov 2025 00:12:04 +1000 Subject: [PATCH] Create Windows Release --- .github/workflows/create-release.yml | 3 ++- iac/Deploy/Program.cs | 1 + iac/Deploy/Steps/CreateWindowsRelease.cs | 28 ++++++++++++++++++++++++ src/SharpIDE.Godot/export_presets.cfg | 2 +- 4 files changed, 32 insertions(+), 2 deletions(-) create mode 100644 iac/Deploy/Steps/CreateWindowsRelease.cs diff --git a/.github/workflows/create-release.yml b/.github/workflows/create-release.yml index 8a97814..994a274 100644 --- a/.github/workflows/create-release.yml +++ b/.github/workflows/create-release.yml @@ -8,7 +8,8 @@ on: jobs: execute-parallel-pipeline: runs-on: ubuntu-latest - + container: + image: barichello/godot-ci:mono-4.5.1 steps: - uses: actions/checkout@v5 - uses: actions/setup-dotnet@v5 diff --git a/iac/Deploy/Program.cs b/iac/Deploy/Program.cs index 78aff39..f3db885 100644 --- a/iac/Deploy/Program.cs +++ b/iac/Deploy/Program.cs @@ -23,6 +23,7 @@ builder.Services.AddParallelPipelines( ); builder.Services .AddStep() + .AddStep() ; using var host = builder.Build(); diff --git a/iac/Deploy/Steps/CreateWindowsRelease.cs b/iac/Deploy/Steps/CreateWindowsRelease.cs new file mode 100644 index 0000000..4c7e37d --- /dev/null +++ b/iac/Deploy/Steps/CreateWindowsRelease.cs @@ -0,0 +1,28 @@ +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]; + } +} diff --git a/src/SharpIDE.Godot/export_presets.cfg b/src/SharpIDE.Godot/export_presets.cfg index 707bec7..b0293c5 100644 --- a/src/SharpIDE.Godot/export_presets.cfg +++ b/src/SharpIDE.Godot/export_presets.cfg @@ -258,7 +258,7 @@ dotnet/embed_build_outputs=false [preset.1] -name="Windows Desktop" +name="Windows" platform="Windows Desktop" runnable=true advanced_options=false