Jelajahi Sumber

added x86 pipeline

flabbet 4 tahun lalu
induk
melakukan
e8c85748a3

+ 7 - 7
Installer/installer-setup-x32.iss → Installer/installer-setup-x86-light.iss

@@ -2,11 +2,11 @@
 ; SEE THE DOCUMENTATION FOR DETAILS ON CREATING INNO SETUP SCRIPT FILES!
 
 #define MyAppName "PixiEditor"
-#define MyAppVersion GetFileVersion("E:\Builds\PixiEditor\x64\PixiEditor.exe")     ;Not perfect solution, it's enviroment dependend
+#define MyAppVersion GetFileVersion("..\Builds\PixiEditor-x32-light\PixiEditor.exe")     ;Not perfect solution, it's enviroment dependend
 #define MyAppPublisher "PixiEditor"
 #define MyAppURL "https://github.com/PixiEditor/PixiEditor"
 #define MyAppExeName "PixiEditor.exe"
-#define TargetPlatform "x32"
+#define TargetPlatform "x86-light"
 
 [Setup]
 ; NOTE: The value of AppId uniquely identifies this application. Do not use the same AppId value in installers for other applications.
@@ -24,12 +24,12 @@ DefaultDirName={autopf}\{#MyAppName}
 DisableProgramGroupPage=yes
 ; The [Icons] "quicklaunchicon" entry uses {userappdata} but its [Tasks] entry has a proper IsAdminInstallMode Check.
 UsedUserAreasWarning=no
-LicenseFile=E:\Git\PixiEditor\LICENSE
+LicenseFile=..\LICENSE
 ; Uncomment the following line to run in non administrative install mode (install for current user only.)
 ;PrivilegesRequired=lowest
-OutputDir=E:\Builds\PixiEditor
+OutputDir=Assets\PixiEditor-{#TargetPlatform}
 OutputBaseFilename=PixiEditor-setup-{#TargetPlatform}
-SetupIconFile=E:\Git\PixiEditor\icon.ico
+SetupIconFile=..\icon.ico
 Compression=lzma
 SolidCompression=yes
 WizardStyle=modern
@@ -43,8 +43,8 @@ Name: "desktopicon"; Description: "{cm:CreateDesktopIcon}"; GroupDescription: "{
 Name: "quicklaunchicon"; Description: "{cm:CreateQuickLaunchIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: unchecked; OnlyBelowVersion: 6.1; Check: not IsAdminInstallMode
 
 [Files]
-Source: "E:\Builds\PixiEditor\{#TargetPlatform}\PixiEditor.exe"; DestDir: "{app}"; Flags: ignoreversion
-Source: "E:\Builds\PixiEditor\{#TargetPlatform}\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs
+Source: "..\Builds\PixiEditor-{#TargetPlatform}\PixiEditor\PixiEditor.exe"; DestDir: "{app}"; Flags: ignoreversion
+Source: "..\Builds\PixiEditor-{#TargetPlatform}\PixiEditor\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs
 ; NOTE: Don't use "Flags: ignoreversion" on any shared system files
 
 [Icons]

+ 7 - 7
Installer/installer-setup-x32-light.iss → Installer/installer-setup-x86.iss

@@ -2,11 +2,11 @@
 ; SEE THE DOCUMENTATION FOR DETAILS ON CREATING INNO SETUP SCRIPT FILES!
 
 #define MyAppName "PixiEditor"
-#define MyAppVersion GetFileVersion("E:\Builds\PixiEditor\x64\PixiEditor.exe")     ;Not perfect solution, it's enviroment dependend
+#define MyAppVersion GetFileVersion("..\Builds\PixiEditor-x32\PixiEditor.exe")     ;Not perfect solution, it's enviroment dependend
 #define MyAppPublisher "PixiEditor"
 #define MyAppURL "https://github.com/PixiEditor/PixiEditor"
 #define MyAppExeName "PixiEditor.exe"
-#define TargetPlatform "x32-light"
+#define TargetPlatform "x86"
 
 [Setup]
 ; NOTE: The value of AppId uniquely identifies this application. Do not use the same AppId value in installers for other applications.
@@ -24,12 +24,12 @@ DefaultDirName={autopf}\{#MyAppName}
 DisableProgramGroupPage=yes
 ; The [Icons] "quicklaunchicon" entry uses {userappdata} but its [Tasks] entry has a proper IsAdminInstallMode Check.
 UsedUserAreasWarning=no
-LicenseFile=E:\Git\PixiEditor\LICENSE
+LicenseFile=..\LICENSE
 ; Uncomment the following line to run in non administrative install mode (install for current user only.)
 ;PrivilegesRequired=lowest
-OutputDir=E:\Builds\PixiEditor
+OutputDir=Assets\PixiEditor-{#TargetPlatform}
 OutputBaseFilename=PixiEditor-setup-{#TargetPlatform}
-SetupIconFile=E:\Git\PixiEditor\icon.ico
+SetupIconFile=..\icon.ico
 Compression=lzma
 SolidCompression=yes
 WizardStyle=modern
@@ -43,8 +43,8 @@ Name: "desktopicon"; Description: "{cm:CreateDesktopIcon}"; GroupDescription: "{
 Name: "quicklaunchicon"; Description: "{cm:CreateQuickLaunchIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: unchecked; OnlyBelowVersion: 6.1; Check: not IsAdminInstallMode
 
 [Files]
-Source: "E:\Builds\PixiEditor\{#TargetPlatform}\PixiEditor.exe"; DestDir: "{app}"; Flags: ignoreversion
-Source: "E:\Builds\PixiEditor\{#TargetPlatform}\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs
+Source: "..\Builds\PixiEditor-{#TargetPlatform}\PixiEditor\PixiEditor.exe"; DestDir: "{app}"; Flags: ignoreversion
+Source: "..\Builds\PixiEditor-{#TargetPlatform}\PixiEditor\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs
 ; NOTE: Don't use "Flags: ignoreversion" on any shared system files
 
 [Icons]

+ 4 - 4
windows-x64-release.yml

@@ -29,7 +29,7 @@ steps:
     configuration: '$(buildConfiguration)'
 
 - task: DotNetCoreCLI@2
-  displayName: "Publish PixiEditor.UpdateInstaller"
+  displayName: "Build release PixiEditor.UpdateInstaller"
   inputs:
     command: 'publish'
     publishWebProjects: false
@@ -38,7 +38,7 @@ steps:
     zipAfterPublish: false
 
 - task: DotNetCoreCLI@2
-  displayName: "Publish PixiEditor Self-contained"
+  displayName: "Build release PixiEditor Self-contained"
   inputs:
     command: 'publish'
     publishWebProjects: false
@@ -68,12 +68,12 @@ steps:
     publishLocation: 'pipeline'
 
 - task: DotNetCoreCLI@2
-  displayName: "Publish PixiEditor x64 light"
+  displayName: "Build release PixiEditor x64 light"
   inputs:
     command: 'publish'
     publishWebProjects: false
     projects: '**/PixiEditor.csproj'
-    arguments: '-o "Builds\PixiEditor-x64-light" --self-contained=true -r "win-x64" -c Release'
+    arguments: '-o "Builds\PixiEditor-x64-light" --self-contained=false -r "win-x64" -c Release'
     zipAfterPublish: false
 
 - task: CopyFiles@2

+ 98 - 0
windows-x86-release.yml

@@ -0,0 +1,98 @@
+# .NET Desktop
+# Build and run tests for .NET Desktop or Windows classic desktop solutions.
+# Add steps that publish symbols, save build artifacts, and more:
+# https://docs.microsoft.com/azure/devops/pipelines/apps/windows/dot-net
+
+trigger:
+- release
+- cd-azure-pipelines
+
+pool:
+  vmImage: 'windows-latest'
+
+variables:
+  solution: '**/*.sln'
+  buildPlatform: 'Any CPU'
+  buildConfiguration: 'Release'
+
+steps:
+- task: NuGetToolInstaller@1
+
+- task: NuGetCommand@2
+  inputs:
+    restoreSolution: '$(solution)'
+
+- task: VSBuild@1
+  inputs:
+    solution: '$(solution)'
+    platform: '$(buildPlatform)'
+    configuration: '$(buildConfiguration)'
+
+- task: DotNetCoreCLI@2
+  displayName: "Build release PixiEditor.UpdateInstaller"
+  inputs:
+    command: 'publish'
+    publishWebProjects: false
+    projects: '**/PixiEditor.UpdateInstaller.csproj'
+    arguments: '-o "UpdateInstaller" -r "win-x86" --self-contained=false -p:PublishSingleFile=true -c Release'
+    zipAfterPublish: false
+
+- task: DotNetCoreCLI@2
+  displayName: "Build release PixiEditor Self-contained"
+  inputs:
+    command: 'publish'
+    publishWebProjects: false
+    projects: '**/PixiEditor.csproj'
+    arguments: '-o "Builds/PixiEditor-x86" --self-contained=true -r "win-x86" -c Release'
+    zipAfterPublish: false
+
+- task: CopyFiles@2
+  displayName: "Copy updater to PixiEditor target dir"
+  inputs:
+    SourceFolder: 'UpdateInstaller'
+    Contents: '**'
+    TargetFolder: 'Builds/PixiEditor-x86'
+    flattenFolders: true
+
+- task: PowerShell@2
+  displayName: "Compile installer"
+  inputs:
+    targetType: 'inline'
+    script: '& "$env:userprofile\.nuget\packages\tools.innosetup\6.0.5\tools\ISCC.exe" Installer\installer-setup-x86.iss'
+  
+- task: PublishPipelineArtifact@1
+  displayName: "Publish artifact"
+  inputs:
+    targetPath: 'Installer/Assets/PixiEditor-x86/'
+    artifact: 'PixiEditor-setup-x86.exe'
+    publishLocation: 'pipeline'
+
+- task: DotNetCoreCLI@2
+  displayName: "Build release PixiEditor x86 light"
+  inputs:
+    command: 'publish'
+    publishWebProjects: false
+    projects: '**/PixiEditor.csproj'
+    arguments: '-o "Builds\PixiEditor-x86-light" --self-contained=false -r "win-x86" -c Release'
+    zipAfterPublish: false
+
+- task: CopyFiles@2
+  displayName: "Copy updater to PixiEditor target dir"
+  inputs:
+    SourceFolder: 'UpdateInstaller'
+    Contents: '**'
+    TargetFolder: 'Builds/PixiEditor-x86-light'
+    flattenFolders: true
+
+- task: PowerShell@2
+  displayName: "Compile installer"
+  inputs:
+    targetType: 'inline'
+    script: '& "$env:userprofile\.nuget\packages\tools.innosetup\6.0.5\tools\ISCC.exe" Installer\installer-setup-x86-light.iss'
+
+- task: PublishPipelineArtifact@1
+  displayName: "Publish artifact"
+  inputs:
+    targetPath: 'Installer/Assets/PixiEditor-x86-light/'
+    artifact: 'PixiEditor-setup-x86-light.exe'
+    publishLocation: 'pipeline'