PowerToys/.pipelines/release.yml

332 lines
12 KiB
YAML
Raw Normal View History

Add a new YAML release pipeline to replace the old CDPx one (#15039) * lets move unneeded stuff out * adding in direct installer yml * forcing internal * Create release.yml * Update release.yml * Try to use the right feed, scrub * What if we don't do package ES... * Update release.yml * Update release.yml * Update release.yml for Azure Pipelines * Update release.yml * Update release.yml * seeing where we are in the world * adjustment * fixed a copy/paste * think we're in root, having a dir command just to verify * start copying over core files * adding in tools + setup * fixing telem * ci: fix could not lock config file flakiness * forcing root dir * attempting to copy files again * adding notes * lets try this again * trying a quicker way to figure out root * maybe it is the slash not being there looking at docs deeper * playing with slashes * signing * tewak * fixing file path for signing. suprise, app driver and PT have different paths :) * getting my sign on * tweaking json * Adjusting files and getting output from build * fixing yml copy and paste oops * fixing spacing ... * getting bootstrapper added * moving file and seeing if we can't get this pipeline goodness working * trying my next oops at powershell ... * shift in version location i bet this will fail, doing a parallel build to verify * trying again for powershell passing in arg * Dustin showed me the error * forcing as string * fdsfasd * forcing as string * getting sad panda * trying to force array * lets try this on single line .... * i made a major oops * Sync'ing naming, adding in signing for msi & boot * breaking up signing into smaller bits * grr, not everything committed * Added a lot of comments * fixing installer signing path * fixing paths * seeing if this fixes some of the signing quirks * removing 3rd party double, removing the pipeline call * centeralizing again * more consolidation * Going a bit more wide * going very wide * seeing if i can't do a dual but more targetted list * think having leading slash caused a failure * looks like the esrp does not verify paths don't exist * fixing 3rd party * reseting old stuff so old pipeline still works * resetting version setting * [PR INTO CRUTKAS BR] Fix the localization pipeline (#15026) * Fix localization This commit makes a few changes: 1. It introduces a couple scripts for moving localization files around based on Touchdown's output shape. They are well-documented. 2. It rewrites portions of the RESX->RC converter to avoid resgen and handle the new touchdown language types. * I forgot the cardinal rule of using YAML: Don't * Fix duplicate keys in Keyboard Editor! * Up the timeout * Update the language list in the wxs * Use IsPipeline * Special case SvgPreviewHandler >:{ * Push this down to Clint's branch: fix the publish profile * Reinstate the call to publish.cmd * Document it * build the publishing rules * Remove the GitSubmodules hack * Restore CDPx move_uwp_resources * Don't need this any more! spelling. * adding spelling * sorting alphabetical * fix spelling * shifint to new dll naming * Move GcodePreviewHandler's Resources to follow the preferred C# format * Revert "Move GcodePreviewHandler's Resources to follow the preferred C# format" This reverts commit daf4c7ef3a87509b769be7bd0ad035074d50c4ea. * remove SVG workaround - requires #15054! * cleaning up commented code dustin said i could delete :) * fixing tab vs space * Update release.yml Fixing Dustin comments Co-authored-by: Clint Rutkas <crutkas@microsoft.com> Co-authored-by: Dustin Howett <duhowett@microsoft.com> Co-authored-by: Jaime Bernardo <jaime@janeasystems.com> Co-authored-by: Dustin L. Howett <dustin@howett.net>
2021-12-18 10:15:31 +08:00
# This build should never run as CI or against a pull request.
trigger: none
pr: none
pool:
name: WinDevPool-L
demands: ImageOverride -equals WinDevVS16-latest
parameters:
- name: buildConfigurations
type: object
default:
- Release
- name: buildPlatforms
type: object
default:
- x64
- name: versionNumber
type: string
default: '0.0.1'
variables:
IsPipeline: 1 # The installer uses this to detect whether it should pick up localizations
name: $(BuildDefinitionName)_$(date:yyMM).$(date:dd)$(rev:rrr)
resources:
repositories:
- repository: self
type: git
ref: main
jobs:
- job: Build
strategy:
matrix:
${{ each config in parameters.buildConfigurations }}:
${{ each platform in parameters.buildPlatforms }}:
${{ config }}_${{ platform }}:
BuildConfiguration: ${{ config }}
BuildPlatform: ${{ platform }}
displayName: Build
timeoutInMinutes: 120 # Some of the loc stuff adds quite a bit of time.
cancelTimeoutInMinutes: 1
steps:
- checkout: self
clean: true
submodules: true
persistCredentials: True
# Sets versions for all PowerToy created DLLs
- task: PowerShell@1
displayName: Set Versions.Prop
inputs:
scriptName: .pipelines/versionSetting.ps1
arguments: -versionNumber '${{ parameters.versionNumber }}' -DevEnvironment ''
- task: MicrosoftTDBuild.tdbuild-task.tdbuild-task.TouchdownBuildTask@1
displayName: 'Download Localization Files -- PowerToys 37400'
inputs:
teamId: 37400
authId: '$(TouchdownApplicationID)'
authKey: '$(TouchdownApplicationKey)'
resourceFilePath: |
**\Resources.resx
**\Resource.resx
**\Resources.resw
appendRelativeDir: true
localizationTarget: false
pseudoSetting: Included
- task: PowerShell@2
displayName: Move Loc files into correct locations
inputs:
targetType: inline
script: >-
$VerbosePreference = "Continue"
./tools/build/move-and-rename-resx.ps1
./tools/build/move-uwp-resw.ps1
pwsh: true
- task: NuGetAuthenticate@0
inputs:
nuGetServiceConnections: PowerToysCDPxFeed
- task: NuGetToolInstaller@1
displayName: Use NuGet 5.10
inputs:
versionSpec: 5.10
# this will restore the following nugets:
# - main solution
# - Bug report tool
# - Webcam report tool
# - Installer
# - Bootstrapper Installer
- task: NuGetCommand@2
displayName: NuGet restore solutions dependencies
inputs:
command: restore
restoreSolution: '**/*.sln'
selectOrConfig: config
nugetConfigPath: .pipelines/release-nuget.config
- task: CmdLine@2
displayName: Moving telem files
inputs:
script: |
call nuget.exe restore -configFile .pipelines/release-nuget.config -PackagesDirectory . .pipelines/packages.config || exit /b 1
move /Y "Microsoft.PowerToys.Telemetry.2.0.0\build\include\TraceLoggingDefines.h" "src\common\Telemetry\TraceLoggingDefines.h" || exit /b 1
move /Y "Microsoft.PowerToys.Telemetry.2.0.0\build\include\TelemetryBase.cs" "src\common\Telemetry\TelemetryBase.cs" || exit /b 1
## ALL BUT INSTALLER BUILDING
- task: VSBuild@1
displayName: Build PowerToys main project
inputs:
solution: '**\PowerToys.sln'
vsVersion: 16.0
msbuildArgs: /p:CIBuild=true /bl:$(Build.SourcesDirectory)\msbuild.binlog
platform: $(BuildPlatform)
configuration: $(BuildConfiguration)
clean: true
maximumCpuCount: true
- task: VSBuild@1
displayName: Build BugReportTool
inputs:
solution: '**/tools/BugReportTool/BugReportTool.sln'
vsVersion: 16.0
msbuildArgs: /p:CIBuild=true /bl:$(Build.SourcesDirectory)\msbuild.binlog
platform: $(BuildPlatform)
configuration: $(BuildConfiguration)
clean: true
maximumCpuCount: true
- task: VSBuild@1
displayName: Build WebcamReportTool
inputs:
solution: '**/tools/WebcamReportTool/WebcamReportTool.sln'
vsVersion: 16.0
msbuildArgs: /p:CIBuild=true /bl:$(Build.SourcesDirectory)\msbuild.binlog
platform: $(BuildPlatform)
configuration: $(BuildConfiguration)
clean: true
maximumCpuCount: true
- task: VSBuild@1
displayName: Build PowerToysSetupCustomActions
inputs:
solution: '**/installer/PowerToysSetup.sln'
vsVersion: 16.0
msbuildArgs: /target:PowerToysSetupCustomActions /p:CIBuild=true /bl:$(Build.SourcesDirectory)\msbuild.binlog
platform: $(BuildPlatform)
configuration: $(BuildConfiguration)
clean: true
maximumCpuCount: true
- task: VSBuild@1
displayName: Publish Settings for Packaging
inputs:
solution: 'src/settings-ui/PowerToys.Settings/PowerToys.Settings.csproj'
vsVersion: 16.0
msbuildArgs: >-
/target:Publish
/p:Configuration=$(BuildConfiguration);Platform=$(BuildPlatform);AppxBundle=Never
/p:VCRTForwarders-IncludeDebugCRT=false
/p:PowerToysRoot=$(Build.SourcesDirectory)
/p:PublishProfile=InstallationPublishProfile.pubxml
platform: $(BuildPlatform)
configuration: $(BuildConfiguration)
maximumCpuCount: true
- task: VSBuild@1
displayName: Publish Launcher for Packaging
inputs:
solution: 'src/modules/launcher/PowerLauncher/PowerLauncher.csproj'
vsVersion: 16.0
# The arguments should be the same as the ones for Settings; make sure they are.
msbuildArgs: >-
/target:Publish
/p:Configuration=$(BuildConfiguration);Platform=$(BuildPlatform);AppxBundle=Never
/p:VCRTForwarders-IncludeDebugCRT=false
/p:PowerToysRoot=$(Build.SourcesDirectory)
/p:PublishProfile=InstallationPublishProfile.pubxml
platform: $(BuildPlatform)
configuration: $(BuildConfiguration)
maximumCpuCount: true
#### MAIN SIGNING AREA
# reference https://dev.azure.com/microsoft/Dart/_git/AppDriver?path=/ESRPSigning.json&version=GBarm64-netcore&_a=contents for winappdriver
# https://dev.azure.com/microsoft/Dart/_git/AppDriver?path=/CIPolicy.xml&version=GBarm64-netcore&_a=contents
- task: SFP.build-tasks.custom-build-task-1.EsrpCodeSigning@1
displayName: Sign Core PT
inputs:
ConnectedServiceName: 'Terminal/Console/WinAppDriver Team Code Signing Connection'
FolderPath: '$(BuildPlatform)/$(BuildConfiguration)' # Video conf uses x86 and x64. This path will also work for PowerToysSetupCustomActions which is in a different root dir
signType: batchSigning
batchSignPolicyFile: '$(build.sourcesdirectory)\.pipelines\ESRPSigning_core.json'
ciPolicyFile: '$(build.sourcesdirectory)\.pipelines\CIPolicy.xml'
- task: SFP.build-tasks.custom-build-task-1.EsrpCodeSigning@1
displayName: Sign x86 directshow VCM
inputs:
ConnectedServiceName: 'Terminal/Console/WinAppDriver Team Code Signing Connection'
FolderPath: 'x86/$(BuildConfiguration)' # Video conf uses x86 and x64. This path will also work for PowerToysSetupCustomActions which is in a different root dir
signType: batchSigning
batchSignPolicyFile: '$(build.sourcesdirectory)\.pipelines\ESRPSigning_vcm.json'
ciPolicyFile: '$(build.sourcesdirectory)\.pipelines\CIPolicy.xml'
#### END SIGNING
## END MAIN
## INSTALLER START
#### MSI BUILDING AND SIGNING
- task: VSBuild@1
displayName: Build MSI
inputs:
solution: '**/installer/PowerToysSetup.sln'
vsVersion: 16.0
msbuildArgs: /p:CIBuild=true /target:PowerToysInstaller /bl:$(Build.SourcesDirectory)\msbuild.binlog
Add a new YAML release pipeline to replace the old CDPx one (#15039) * lets move unneeded stuff out * adding in direct installer yml * forcing internal * Create release.yml * Update release.yml * Try to use the right feed, scrub * What if we don't do package ES... * Update release.yml * Update release.yml * Update release.yml for Azure Pipelines * Update release.yml * Update release.yml * seeing where we are in the world * adjustment * fixed a copy/paste * think we're in root, having a dir command just to verify * start copying over core files * adding in tools + setup * fixing telem * ci: fix could not lock config file flakiness * forcing root dir * attempting to copy files again * adding notes * lets try this again * trying a quicker way to figure out root * maybe it is the slash not being there looking at docs deeper * playing with slashes * signing * tewak * fixing file path for signing. suprise, app driver and PT have different paths :) * getting my sign on * tweaking json * Adjusting files and getting output from build * fixing yml copy and paste oops * fixing spacing ... * getting bootstrapper added * moving file and seeing if we can't get this pipeline goodness working * trying my next oops at powershell ... * shift in version location i bet this will fail, doing a parallel build to verify * trying again for powershell passing in arg * Dustin showed me the error * forcing as string * fdsfasd * forcing as string * getting sad panda * trying to force array * lets try this on single line .... * i made a major oops * Sync'ing naming, adding in signing for msi & boot * breaking up signing into smaller bits * grr, not everything committed * Added a lot of comments * fixing installer signing path * fixing paths * seeing if this fixes some of the signing quirks * removing 3rd party double, removing the pipeline call * centeralizing again * more consolidation * Going a bit more wide * going very wide * seeing if i can't do a dual but more targetted list * think having leading slash caused a failure * looks like the esrp does not verify paths don't exist * fixing 3rd party * reseting old stuff so old pipeline still works * resetting version setting * [PR INTO CRUTKAS BR] Fix the localization pipeline (#15026) * Fix localization This commit makes a few changes: 1. It introduces a couple scripts for moving localization files around based on Touchdown's output shape. They are well-documented. 2. It rewrites portions of the RESX->RC converter to avoid resgen and handle the new touchdown language types. * I forgot the cardinal rule of using YAML: Don't * Fix duplicate keys in Keyboard Editor! * Up the timeout * Update the language list in the wxs * Use IsPipeline * Special case SvgPreviewHandler >:{ * Push this down to Clint's branch: fix the publish profile * Reinstate the call to publish.cmd * Document it * build the publishing rules * Remove the GitSubmodules hack * Restore CDPx move_uwp_resources * Don't need this any more! spelling. * adding spelling * sorting alphabetical * fix spelling * shifint to new dll naming * Move GcodePreviewHandler's Resources to follow the preferred C# format * Revert "Move GcodePreviewHandler's Resources to follow the preferred C# format" This reverts commit daf4c7ef3a87509b769be7bd0ad035074d50c4ea. * remove SVG workaround - requires #15054! * cleaning up commented code dustin said i could delete :) * fixing tab vs space * Update release.yml Fixing Dustin comments Co-authored-by: Clint Rutkas <crutkas@microsoft.com> Co-authored-by: Dustin Howett <duhowett@microsoft.com> Co-authored-by: Jaime Bernardo <jaime@janeasystems.com> Co-authored-by: Dustin L. Howett <dustin@howett.net>
2021-12-18 10:15:31 +08:00
platform: $(BuildPlatform)
configuration: $(BuildConfiguration)
clean: true
maximumCpuCount: true
- task: CmdLine@2
displayName: 'Extracting MSI to verify contents'
inputs:
script: |
.\installer\packages\WiX.3.11.2\tools\dark.exe -x $(build.sourcesdirectory)\extractedMsi installer\PowerToysSetup\$(BuildPlatform)\$(BuildConfiguration)\PowerToysSetup-${{ parameters.versionNumber }}-$(BuildPlatform).msi
dir $(build.sourcesdirectory)\extractedMsi
# Did we sign all files
- task: PowerShell@1
displayName: Verifying entire build is signed and version set
inputs:
scriptName: .pipelines/versionAndSignCheck.ps1
arguments: -targetDir '$(build.sourcesdirectory)\extractedMsi\File'
Add a new YAML release pipeline to replace the old CDPx one (#15039) * lets move unneeded stuff out * adding in direct installer yml * forcing internal * Create release.yml * Update release.yml * Try to use the right feed, scrub * What if we don't do package ES... * Update release.yml * Update release.yml * Update release.yml for Azure Pipelines * Update release.yml * Update release.yml * seeing where we are in the world * adjustment * fixed a copy/paste * think we're in root, having a dir command just to verify * start copying over core files * adding in tools + setup * fixing telem * ci: fix could not lock config file flakiness * forcing root dir * attempting to copy files again * adding notes * lets try this again * trying a quicker way to figure out root * maybe it is the slash not being there looking at docs deeper * playing with slashes * signing * tewak * fixing file path for signing. suprise, app driver and PT have different paths :) * getting my sign on * tweaking json * Adjusting files and getting output from build * fixing yml copy and paste oops * fixing spacing ... * getting bootstrapper added * moving file and seeing if we can't get this pipeline goodness working * trying my next oops at powershell ... * shift in version location i bet this will fail, doing a parallel build to verify * trying again for powershell passing in arg * Dustin showed me the error * forcing as string * fdsfasd * forcing as string * getting sad panda * trying to force array * lets try this on single line .... * i made a major oops * Sync'ing naming, adding in signing for msi & boot * breaking up signing into smaller bits * grr, not everything committed * Added a lot of comments * fixing installer signing path * fixing paths * seeing if this fixes some of the signing quirks * removing 3rd party double, removing the pipeline call * centeralizing again * more consolidation * Going a bit more wide * going very wide * seeing if i can't do a dual but more targetted list * think having leading slash caused a failure * looks like the esrp does not verify paths don't exist * fixing 3rd party * reseting old stuff so old pipeline still works * resetting version setting * [PR INTO CRUTKAS BR] Fix the localization pipeline (#15026) * Fix localization This commit makes a few changes: 1. It introduces a couple scripts for moving localization files around based on Touchdown's output shape. They are well-documented. 2. It rewrites portions of the RESX->RC converter to avoid resgen and handle the new touchdown language types. * I forgot the cardinal rule of using YAML: Don't * Fix duplicate keys in Keyboard Editor! * Up the timeout * Update the language list in the wxs * Use IsPipeline * Special case SvgPreviewHandler >:{ * Push this down to Clint's branch: fix the publish profile * Reinstate the call to publish.cmd * Document it * build the publishing rules * Remove the GitSubmodules hack * Restore CDPx move_uwp_resources * Don't need this any more! spelling. * adding spelling * sorting alphabetical * fix spelling * shifint to new dll naming * Move GcodePreviewHandler's Resources to follow the preferred C# format * Revert "Move GcodePreviewHandler's Resources to follow the preferred C# format" This reverts commit daf4c7ef3a87509b769be7bd0ad035074d50c4ea. * remove SVG workaround - requires #15054! * cleaning up commented code dustin said i could delete :) * fixing tab vs space * Update release.yml Fixing Dustin comments Co-authored-by: Clint Rutkas <crutkas@microsoft.com> Co-authored-by: Dustin Howett <duhowett@microsoft.com> Co-authored-by: Jaime Bernardo <jaime@janeasystems.com> Co-authored-by: Dustin L. Howett <dustin@howett.net>
2021-12-18 10:15:31 +08:00
- task: SFP.build-tasks.custom-build-task-1.EsrpCodeSigning@1
displayName: Sign MSI
inputs:
ConnectedServiceName: 'Terminal/Console/WinAppDriver Team Code Signing Connection'
FolderPath: 'installer/PowerToysSetup/$(BuildPlatform)\$(BuildConfiguration)'
signType: batchSigning
batchSignPolicyFile: '$(build.sourcesdirectory)\.pipelines\ESRPSigning_installer.json'
ciPolicyFile: '$(build.sourcesdirectory)\.pipelines\CIPolicy.xml'
#### END MSI
#### BOOTSTRAP BUILDING AND SIGNING
- task: VSBuild@1
displayName: Build Bootstrapper
inputs:
solution: '**/installer/PowerToysSetup.sln'
Add a new YAML release pipeline to replace the old CDPx one (#15039) * lets move unneeded stuff out * adding in direct installer yml * forcing internal * Create release.yml * Update release.yml * Try to use the right feed, scrub * What if we don't do package ES... * Update release.yml * Update release.yml * Update release.yml for Azure Pipelines * Update release.yml * Update release.yml * seeing where we are in the world * adjustment * fixed a copy/paste * think we're in root, having a dir command just to verify * start copying over core files * adding in tools + setup * fixing telem * ci: fix could not lock config file flakiness * forcing root dir * attempting to copy files again * adding notes * lets try this again * trying a quicker way to figure out root * maybe it is the slash not being there looking at docs deeper * playing with slashes * signing * tewak * fixing file path for signing. suprise, app driver and PT have different paths :) * getting my sign on * tweaking json * Adjusting files and getting output from build * fixing yml copy and paste oops * fixing spacing ... * getting bootstrapper added * moving file and seeing if we can't get this pipeline goodness working * trying my next oops at powershell ... * shift in version location i bet this will fail, doing a parallel build to verify * trying again for powershell passing in arg * Dustin showed me the error * forcing as string * fdsfasd * forcing as string * getting sad panda * trying to force array * lets try this on single line .... * i made a major oops * Sync'ing naming, adding in signing for msi & boot * breaking up signing into smaller bits * grr, not everything committed * Added a lot of comments * fixing installer signing path * fixing paths * seeing if this fixes some of the signing quirks * removing 3rd party double, removing the pipeline call * centeralizing again * more consolidation * Going a bit more wide * going very wide * seeing if i can't do a dual but more targetted list * think having leading slash caused a failure * looks like the esrp does not verify paths don't exist * fixing 3rd party * reseting old stuff so old pipeline still works * resetting version setting * [PR INTO CRUTKAS BR] Fix the localization pipeline (#15026) * Fix localization This commit makes a few changes: 1. It introduces a couple scripts for moving localization files around based on Touchdown's output shape. They are well-documented. 2. It rewrites portions of the RESX->RC converter to avoid resgen and handle the new touchdown language types. * I forgot the cardinal rule of using YAML: Don't * Fix duplicate keys in Keyboard Editor! * Up the timeout * Update the language list in the wxs * Use IsPipeline * Special case SvgPreviewHandler >:{ * Push this down to Clint's branch: fix the publish profile * Reinstate the call to publish.cmd * Document it * build the publishing rules * Remove the GitSubmodules hack * Restore CDPx move_uwp_resources * Don't need this any more! spelling. * adding spelling * sorting alphabetical * fix spelling * shifint to new dll naming * Move GcodePreviewHandler's Resources to follow the preferred C# format * Revert "Move GcodePreviewHandler's Resources to follow the preferred C# format" This reverts commit daf4c7ef3a87509b769be7bd0ad035074d50c4ea. * remove SVG workaround - requires #15054! * cleaning up commented code dustin said i could delete :) * fixing tab vs space * Update release.yml Fixing Dustin comments Co-authored-by: Clint Rutkas <crutkas@microsoft.com> Co-authored-by: Dustin Howett <duhowett@microsoft.com> Co-authored-by: Jaime Bernardo <jaime@janeasystems.com> Co-authored-by: Dustin L. Howett <dustin@howett.net>
2021-12-18 10:15:31 +08:00
vsVersion: 16.0
msbuildArgs: /p:CIBuild=true /bl:$(Build.SourcesDirectory)\msbuild.binlog
platform: $(BuildPlatform)
configuration: $(BuildConfiguration)
clean: true
maximumCpuCount: true
- task: CmdLine@2
displayName: 'Insignia: Extract Engine from Bundle'
inputs:
script: '.\installer\packages\WiX.3.11.2\tools\insignia.exe -ib installer\PowerToysSetup\$(BuildPlatform)\$(BuildConfiguration)\PowerToysSetup-${{ parameters.versionNumber }}-$(BuildPlatform).exe -o installer\engine.exe'
- task: SFP.build-tasks.custom-build-task-1.EsrpCodeSigning@1
displayName: 'ESRP CodeSigning (Engine)'
inputs:
ConnectedServiceName: 'Terminal/Console/WinAppDriver Team Code Signing Connection'
FolderPath: 'installer'
Pattern: engine.exe
signConfigType: inlineSignParams
inlineOperation: |
[
{
"KeyCode": "CP-230012",
"OperationCode": "SigntoolSign",
"Parameters": {
"OpusName": "Microsoft",
"OpusInfo": "http://www.microsoft.com",
"FileDigest": "/fd \"SHA256\"",
"PageHash": "/NPH",
"TimeStamp": "/tr \"http://rfc3161.gtm.corp.microsoft.com/TSS/HttpTspServer\" /td sha256"
},
"ToolName": "sign",
"ToolVersion": "1.0"
},
{
"KeyCode": "CP-230012",
"OperationCode": "SigntoolVerify",
"Parameters": {},
"ToolName": "sign",
"ToolVersion": "1.0"
}
]
- task: CmdLine@2
displayName: 'Insignia: Merge Engine into Bundle'
inputs:
script: '.\installer\packages\WiX.3.11.2\tools\insignia.exe -ab installer\engine.exe installer\PowerToysSetup\$(BuildPlatform)\$(BuildConfiguration)\PowerToysSetup-${{ parameters.versionNumber }}-$(BuildPlatform).exe -o installer\PowerToysSetup\$(BuildPlatform)\$(BuildConfiguration)\PowerToysSetup-${{ parameters.versionNumber }}-$(BuildPlatform).exe'
Add a new YAML release pipeline to replace the old CDPx one (#15039) * lets move unneeded stuff out * adding in direct installer yml * forcing internal * Create release.yml * Update release.yml * Try to use the right feed, scrub * What if we don't do package ES... * Update release.yml * Update release.yml * Update release.yml for Azure Pipelines * Update release.yml * Update release.yml * seeing where we are in the world * adjustment * fixed a copy/paste * think we're in root, having a dir command just to verify * start copying over core files * adding in tools + setup * fixing telem * ci: fix could not lock config file flakiness * forcing root dir * attempting to copy files again * adding notes * lets try this again * trying a quicker way to figure out root * maybe it is the slash not being there looking at docs deeper * playing with slashes * signing * tewak * fixing file path for signing. suprise, app driver and PT have different paths :) * getting my sign on * tweaking json * Adjusting files and getting output from build * fixing yml copy and paste oops * fixing spacing ... * getting bootstrapper added * moving file and seeing if we can't get this pipeline goodness working * trying my next oops at powershell ... * shift in version location i bet this will fail, doing a parallel build to verify * trying again for powershell passing in arg * Dustin showed me the error * forcing as string * fdsfasd * forcing as string * getting sad panda * trying to force array * lets try this on single line .... * i made a major oops * Sync'ing naming, adding in signing for msi & boot * breaking up signing into smaller bits * grr, not everything committed * Added a lot of comments * fixing installer signing path * fixing paths * seeing if this fixes some of the signing quirks * removing 3rd party double, removing the pipeline call * centeralizing again * more consolidation * Going a bit more wide * going very wide * seeing if i can't do a dual but more targetted list * think having leading slash caused a failure * looks like the esrp does not verify paths don't exist * fixing 3rd party * reseting old stuff so old pipeline still works * resetting version setting * [PR INTO CRUTKAS BR] Fix the localization pipeline (#15026) * Fix localization This commit makes a few changes: 1. It introduces a couple scripts for moving localization files around based on Touchdown's output shape. They are well-documented. 2. It rewrites portions of the RESX->RC converter to avoid resgen and handle the new touchdown language types. * I forgot the cardinal rule of using YAML: Don't * Fix duplicate keys in Keyboard Editor! * Up the timeout * Update the language list in the wxs * Use IsPipeline * Special case SvgPreviewHandler >:{ * Push this down to Clint's branch: fix the publish profile * Reinstate the call to publish.cmd * Document it * build the publishing rules * Remove the GitSubmodules hack * Restore CDPx move_uwp_resources * Don't need this any more! spelling. * adding spelling * sorting alphabetical * fix spelling * shifint to new dll naming * Move GcodePreviewHandler's Resources to follow the preferred C# format * Revert "Move GcodePreviewHandler's Resources to follow the preferred C# format" This reverts commit daf4c7ef3a87509b769be7bd0ad035074d50c4ea. * remove SVG workaround - requires #15054! * cleaning up commented code dustin said i could delete :) * fixing tab vs space * Update release.yml Fixing Dustin comments Co-authored-by: Clint Rutkas <crutkas@microsoft.com> Co-authored-by: Dustin Howett <duhowett@microsoft.com> Co-authored-by: Jaime Bernardo <jaime@janeasystems.com> Co-authored-by: Dustin L. Howett <dustin@howett.net>
2021-12-18 10:15:31 +08:00
- task: SFP.build-tasks.custom-build-task-1.EsrpCodeSigning@1
displayName: Sign Boostrapper
inputs:
ConnectedServiceName: 'Terminal/Console/WinAppDriver Team Code Signing Connection'
FolderPath: 'installer/PowerToysSetup/$(BuildPlatform)\$(BuildConfiguration)'
Add a new YAML release pipeline to replace the old CDPx one (#15039) * lets move unneeded stuff out * adding in direct installer yml * forcing internal * Create release.yml * Update release.yml * Try to use the right feed, scrub * What if we don't do package ES... * Update release.yml * Update release.yml * Update release.yml for Azure Pipelines * Update release.yml * Update release.yml * seeing where we are in the world * adjustment * fixed a copy/paste * think we're in root, having a dir command just to verify * start copying over core files * adding in tools + setup * fixing telem * ci: fix could not lock config file flakiness * forcing root dir * attempting to copy files again * adding notes * lets try this again * trying a quicker way to figure out root * maybe it is the slash not being there looking at docs deeper * playing with slashes * signing * tewak * fixing file path for signing. suprise, app driver and PT have different paths :) * getting my sign on * tweaking json * Adjusting files and getting output from build * fixing yml copy and paste oops * fixing spacing ... * getting bootstrapper added * moving file and seeing if we can't get this pipeline goodness working * trying my next oops at powershell ... * shift in version location i bet this will fail, doing a parallel build to verify * trying again for powershell passing in arg * Dustin showed me the error * forcing as string * fdsfasd * forcing as string * getting sad panda * trying to force array * lets try this on single line .... * i made a major oops * Sync'ing naming, adding in signing for msi & boot * breaking up signing into smaller bits * grr, not everything committed * Added a lot of comments * fixing installer signing path * fixing paths * seeing if this fixes some of the signing quirks * removing 3rd party double, removing the pipeline call * centeralizing again * more consolidation * Going a bit more wide * going very wide * seeing if i can't do a dual but more targetted list * think having leading slash caused a failure * looks like the esrp does not verify paths don't exist * fixing 3rd party * reseting old stuff so old pipeline still works * resetting version setting * [PR INTO CRUTKAS BR] Fix the localization pipeline (#15026) * Fix localization This commit makes a few changes: 1. It introduces a couple scripts for moving localization files around based on Touchdown's output shape. They are well-documented. 2. It rewrites portions of the RESX->RC converter to avoid resgen and handle the new touchdown language types. * I forgot the cardinal rule of using YAML: Don't * Fix duplicate keys in Keyboard Editor! * Up the timeout * Update the language list in the wxs * Use IsPipeline * Special case SvgPreviewHandler >:{ * Push this down to Clint's branch: fix the publish profile * Reinstate the call to publish.cmd * Document it * build the publishing rules * Remove the GitSubmodules hack * Restore CDPx move_uwp_resources * Don't need this any more! spelling. * adding spelling * sorting alphabetical * fix spelling * shifint to new dll naming * Move GcodePreviewHandler's Resources to follow the preferred C# format * Revert "Move GcodePreviewHandler's Resources to follow the preferred C# format" This reverts commit daf4c7ef3a87509b769be7bd0ad035074d50c4ea. * remove SVG workaround - requires #15054! * cleaning up commented code dustin said i could delete :) * fixing tab vs space * Update release.yml Fixing Dustin comments Co-authored-by: Clint Rutkas <crutkas@microsoft.com> Co-authored-by: Dustin Howett <duhowett@microsoft.com> Co-authored-by: Jaime Bernardo <jaime@janeasystems.com> Co-authored-by: Dustin L. Howett <dustin@howett.net>
2021-12-18 10:15:31 +08:00
signType: batchSigning
batchSignPolicyFile: '$(build.sourcesdirectory)\.pipelines\ESRPSigning_installer.json'
ciPolicyFile: '$(build.sourcesdirectory)\.pipelines\CIPolicy.xml'
#### END BOOTSTRAP
## END INSTALLER
- task: PublishBuildArtifacts@1
displayName: 'Publish Artifact: binlog'
condition: failed()
continueOnError: True
inputs:
PathtoPublish: $(Build.SourcesDirectory)\msbuild.binlog
ArtifactName: binlog-$(BuildPlatform)
- task: ComponentGovernanceComponentDetection@0
displayName: Component Detection
- task: CopyFiles@2
inputs:
contents: '**/PowerToysSetup-*.exe'
flattenFolders: True
targetFolder: $(Build.ArtifactStagingDirectory)
- task: PublishBuildArtifacts@1
displayName: 'Publish Artifact: PowerToySetup'
inputs:
PathtoPublish: $(System.ArtifactsDirectory)
ArtifactName: BuildArtifacts
...