Skip to content

Add Windows build support#4

Open
fatbob01 wants to merge 8 commits into
realzombee:developfrom
fatbob01:develop
Open

Add Windows build support#4
fatbob01 wants to merge 8 commits into
realzombee:developfrom
fatbob01:develop

Conversation

@fatbob01
Copy link
Copy Markdown

@fatbob01 fatbob01 commented May 21, 2026

What this does

Adds Windows build support to the GitHub Actions workflow, including proper .exe installers.

Changes

build.sh

  • Uncomments win-x64 / win-x86 packaging lines that were previously disabled
  • Adds --installer flag to build the Inno Setup .exe installer

.github/workflows/build.yml

  • Switches build job runner from ubuntu-latest to windows-latest — required so the net8.0-windows TFM (needed for Radarr.Windows.dll) can be compiled
  • Sets MAJORVERSION, MINORVERSION, and INNOVERSION (6.7.2 stable) env vars for the installer
  • Publishes build_windows and build_windows_installer artifacts
  • Release job attaches windows-core-x64.zip, windows-core-x86.zip, and .exe installers to the GitHub release

src/NzbDrone.Core/Radarr.Core.csproj

  • Bumps MailKit from 4.15.1 to 4.16.0 to fix a build-breaking NuGet vulnerability (GHSA-9j88-vvj5-vhgr) that TreatWarningsAsErrors=true promotes to a hard error

No impact on Linux/Docker users

.NET 8 cross-compiles all Linux RIDs from the Windows runner identically to before. Docker build job and Linux tarballs are completely unchanged.

Verified

Full CI passed on fatbob01/Radarr including the .exe installer: https://github.com/fatbob01/Radarr/actions

fatbob01 and others added 8 commits May 21, 2026 09:25
- Switch build job runner from ubuntu-latest to windows-latest so the
  net8.0-windows TFM (needed for Radarr.Windows.dll) can be compiled
- Uncomment win-x64/win-x86 PackageTests and Package calls in build.sh
- Publish win-x64 test artifact and build_windows artifact from build job
- Download Windows artifact in release job and zip it alongside Linux tarballs
- Include windows-core-x64/x86 zips in GitHub release upload

Linux tarballs and Docker image are unaffected; .NET 8 cross-compiles all
Linux RIDs from the Windows runner identically to before.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
4.15.1 has a known moderate severity vulnerability (GHSA-9j88-vvj5-vhgr)
which fails the build because TreatWarningsAsErrors=true promotes NU1902
to a hard error.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
The Get Previous Release step fails on first-ever release since there is
nothing to compare against. Mark it continue-on-error and make the release
notes script omit previous_tag_name when the step produced no output.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
The release and docker jobs were conditioned on github.event_name == push,
which skips them when the workflow is triggered manually. Adding
workflow_dispatch so manual runs on develop/master also publish a release.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Add INNOVERSION=7.0.0 to global env
- Set MAJORVERSION and MINORVERSION env vars needed by radarr.iss
- Add --installer flag to build step to run Inno Setup after packaging
- Upload installer artifact from distribution/windows/setup/output/
- Download and attach installers alongside zips in the release job

Produces Radarr.*.win-x64-installer.exe and win-x86-installer.exe in
GitHub releases, matching the pattern used by the Sonarr fork.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
7.0.0 is still in beta and uses a different filename format
(innosetup-7.0.0-beta-x86.exe) that doesn't match what build.sh
expects, causing a 404 and a broken download. 6.7.2 is the latest
stable release with the correct filename pattern.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Runs daily and serves no purpose on a personal fork. Just generates
failure emails.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant