From 53e5a5e11e00c38ffc6fbf02b17a5a461e93d646 Mon Sep 17 00:00:00 2001 From: Qstick Date: Thu, 29 Apr 2021 23:23:21 -0400 Subject: [PATCH] Build x86 Windows Zip and Installer --- azure-pipelines.yml | 17 ++++++++++++++--- build.sh | 17 ++++++----------- distribution/windows/setup/prowlarr.iss | 4 ++-- src/Directory.Build.props | 2 +- src/NzbDrone/Prowlarr.csproj | 2 +- 5 files changed, 24 insertions(+), 18 deletions(-) diff --git a/azure-pipelines.yml b/azure-pipelines.yml index c1c85975d..98869098d 100644 --- a/azure-pipelines.yml +++ b/azure-pipelines.yml @@ -183,9 +183,13 @@ stages: - bash: ./build.sh --packages displayName: Create Packages - bash: | - distribution/windows/setup/inno/ISCC.exe distribution/windows/setup/prowlarr.iss //DFramework=net5.0 + distribution/windows/setup/inno/ISCC.exe distribution/windows/setup/prowlarr.iss //DFramework=net5.0 //DRuntime=win-x86 + cp distribution/windows/setup/output/Prowlarr.*windows.net5.0.exe ${BUILD_ARTIFACTSTAGINGDIRECTORY}/Prowlarr.${BUILDNAME}.windows-core-x86-installer.exe + displayName: Create x86 .NET Core Windows installer + - bash: | + distribution/windows/setup/inno/ISCC.exe distribution/windows/setup/prowlarr.iss //DFramework=net5.0 //DRuntime=win-x64 cp distribution/windows/setup/output/Prowlarr.*windows.net5.0.exe ${BUILD_ARTIFACTSTAGINGDIRECTORY}/Prowlarr.${BUILDNAME}.windows-core-x64-installer.exe - displayName: Create .NET Core Windows installer + displayName: Create x64 .NET Core Windows installer - publish: $(Build.ArtifactStagingDirectory) artifact: 'WindowsInstaller' displayName: Publish Installer @@ -226,7 +230,14 @@ stages: archiveFile: '$(Build.ArtifactStagingDirectory)/Prowlarr.$(buildName).windows-core-x64.zip' archiveType: 'zip' includeRootFolder: false - rootFolderOrFile: $(artifactsFolder)/windows/net5.0 + rootFolderOrFile: $(artifactsFolder)/win-x64/net5.0 + - task: ArchiveFiles@2 + displayName: Create Windows x86 Core zip + inputs: + archiveFile: '$(Build.ArtifactStagingDirectory)/Prowlarr.$(buildName).windows-core-x86.zip' + archiveType: 'zip' + includeRootFolder: false + rootFolderOrFile: $(artifactsFolder)/win-x86/net5.0 - task: ArchiveFiles@2 displayName: Create MacOS Core app inputs: diff --git a/build.sh b/build.sh index 992c8c412..ae9a644f9 100755 --- a/build.sh +++ b/build.sh @@ -178,12 +178,13 @@ PackageMacOSApp() PackageWindows() { local framework="$1" + local runtime="$2" ProgressStart "Creating Windows Package for $framework" - local folder=$artifactsFolder/windows/$framework/Prowlarr + local folder=$artifactsFolder/$runtime/$framework/Prowlarr - PackageFiles "$folder" "$framework" "win-x64" + PackageFiles "$folder" "$framework" "$runtime" cp -r $outputFolder/$framework-windows/$runtime/publish/* $folder echo "Removing Prowlarr.Mono" @@ -210,7 +211,7 @@ Package() PackageLinux "$framework" "$runtime" ;; win) - PackageWindows "$framework" + PackageWindows "$framework" "$runtime" ;; osx) PackageMacOS "$framework" @@ -228,14 +229,6 @@ PackageTests() rm -f $testPackageFolder/$framework/$runtime/*.log.config - # geckodriver.exe isn't copied by dotnet publish - if [ "$runtime" = "win-x64" ]; - then - curl -Lso gecko.zip "https://github.com/mozilla/geckodriver/releases/download/v0.27.0/geckodriver-v0.27.0-win64.zip" - unzip -o gecko.zip - cp geckodriver.exe "$testPackageFolder/$framework/win-x64/publish" - fi - ProgressEnd 'Creating Test Package' } @@ -314,6 +307,7 @@ then if [[ -z "$RID" || -z "$FRAMEWORK" ]]; then PackageTests "net5.0" "win-x64" + PackageTests "net5.0" "win-x86" PackageTests "net5.0" "linux-x64" PackageTests "net5.0" "linux-musl-x64" PackageTests "net5.0" "osx-x64" @@ -345,6 +339,7 @@ then if [[ -z "$RID" || -z "$FRAMEWORK" ]]; then Package "net5.0" "win-x64" + Package "net5.0" "win-x86" Package "net5.0" "linux-x64" Package "net5.0" "linux-musl-x64" Package "net5.0" "linux-arm64" diff --git a/distribution/windows/setup/prowlarr.iss b/distribution/windows/setup/prowlarr.iss index cb180f31e..5322b48a4 100644 --- a/distribution/windows/setup/prowlarr.iss +++ b/distribution/windows/setup/prowlarr.iss @@ -49,8 +49,8 @@ Name: "startupShortcut"; Description: "Create shortcut in Startup folder (Starts Name: "none"; Description: "Do not start automatically"; GroupDescription: "Start automatically"; Flags: exclusive unchecked [Files] -Source: "..\..\..\_artifacts\windows\{#Framework}\Prowlarr\Prowlarr.exe"; DestDir: "{app}"; Flags: ignoreversion -Source: "..\..\..\_artifacts\windows\{#Framework}\Prowlarr\*"; Excludes: "Prowlarr.Update"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs +Source: "..\..\..\_artifacts\{#Runtime}\{#Framework}\Prowlarr\Prowlarr.exe"; DestDir: "{app}"; Flags: ignoreversion +Source: "..\..\..\_artifacts\{#Runtime}\{#Framework}\Prowlarr\*"; Excludes: "Prowlarr.Update"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs ; NOTE: Don't use "Flags: ignoreversion" on any shared system files [Icons] diff --git a/src/Directory.Build.props b/src/Directory.Build.props index 3498275f0..526b33311 100644 --- a/src/Directory.Build.props +++ b/src/Directory.Build.props @@ -5,7 +5,7 @@ AnyCPU true - win-x64;osx-x64;linux-x64;linux-musl-x64;linux-arm;linux-arm64;linux-musl-arm64 + win-x64;win-x86;osx-x64;linux-x64;linux-musl-x64;linux-arm;linux-arm64;linux-musl-arm64 $(MSBuildThisFileDirectory)..\ diff --git a/src/NzbDrone/Prowlarr.csproj b/src/NzbDrone/Prowlarr.csproj index 523ff6a70..67d609f0b 100644 --- a/src/NzbDrone/Prowlarr.csproj +++ b/src/NzbDrone/Prowlarr.csproj @@ -2,7 +2,7 @@ WinExe net5.0-windows - win-x64 + win-x64;win-x86 true ..\NzbDrone.Host\Prowlarr.ico app.manifest