environment: host: os: 'windows' flavor: 'server' version: '2019' runtime: provider: 'appcontainer' # we will want to shift this to latest in the near future but this unblocks us image: 'cdpxwin1809.azurecr.io/global/vse2019@sha256:44a8af0de5efa68829dbdfc3ecef3864d9770f1fc426b897fc37888032c9f60c' source_mode: 'map' version: name: 'PowerToys' major: 1 minor: 0 signing_options: profile: 'external_distribution' package_sources: nuget: feeds: 'PowerToysCDPX_Feed': 'https://github-private.pkgs.visualstudio.com/microsoft/_packaging/PowerToysCDPX_Feed/nuget/v3/index.json' restore: commands: - !!defaultcommand name: 'Restore Power Toys Telemetry' command: '.pipelines\restore-telemetry.cmd' - !!defaultcommand name: 'Restore Power Toys' command: '.pipelines\restore.cmd' - !!defaultcommand name: 'Restore Installer' command: '.pipelines\restore-installer.cmd' - !!defaultcommand name: 'Restore Installer BootStrapper' command: '.pipelines\restore-bootstrapper.cmd' - !!defaultcommand name: 'Restore Localization packages' command: '.pipelines\restore-localization.cmd' - !!defaultcommand name: 'Restore Tools packages' command: '.pipelines\restore-tools.cmd' build: commands: # Localize the files before the Build PowerToys step to generate translated resx files from the lcl files - !!buildcommand name: 'Localize Power Toys' command: '.pipelines\build-localization.cmd' artifacts: - from: 'out\loc' to: 'loc' include: - '**/*' - !!buildcommand name: 'Build Power Toys' command: '.pipelines\build.cmd' artifacts: - to: 'Symbols' include: - 'x64/**/*.pdb' exclude: - 'x64/Release/obj/**/*.pdb' - from: 'x86/Release' to: 'Build_Output' include: - 'modules\VideoConference\PowerToys.VideoConferenceProxyFilter_x86.dll' signing_options: sign_inline: true # This does signing as soon as this command completes - from: 'x64/Release' to: 'Build_Output' include: - 'PowerToys.ActionRunner.exe' - 'PowerToys.Update.exe' - 'PowerToys.BackgroundActivatorDLL.dll' - 'Notifications.dll' - 'os-detection.dll' - 'PowerToys.exe' - 'PowerToys.Interop.dll' - 'BugReportTool\BugReportTool.exe' - '**\*.resources.dll' - 'modules\ColorPicker\PowerToys.ColorPicker.dll' - 'modules\ColorPicker\PowerToys.ColorPickerUI.dll' - 'modules\ColorPicker\PowerToys.ColorPickerUI.exe' - 'modules\ColorPicker\PowerToys.ManagedCommon.dll' - 'modules\ColorPicker\PowerToys.ManagedTelemetry.dll' - 'modules\ColorPicker\PowerToys.Common.UI.dll' - 'modules\ColorPicker\PowerToys.Settings.UI.Lib.dll' - 'modules\ColorPicker\PowerToys.Interop.dll' - 'modules\ColorPicker\Telemetry.dll' - '**\*.resources.dll' - 'modules\Awake\PowerToys.AwakeModuleInterface.dll' - 'modules\Awake\PowerToys.ManagedCommon.dll' - 'modules\Awake\PowerToys.ManagedTelemetry.dll' - 'modules\Awake\PowerToys.Settings.UI.Lib.dll' - 'modules\Awake\PowerToys.Awake.exe' - 'modules\Awake\PowerToys.Awake.dll' - 'modules\Awake\PowerToys.Interop.dll' - 'modules\FancyZones\fancyzones.dll' - 'modules\FancyZones\PowerToys.FancyZonesEditor.exe' - 'modules\FancyZones\PowerToys.FancyZonesEditor.dll' - 'modules\FancyZones\PowerToys.FancyZonesModuleInterface.dll' - 'modules\FancyZones\PowerToys.ManagedCommon.dll' - 'modules\FancyZones\PowerToys.ManagedTelemetry.dll' - 'modules\FancyZones\PowerToys.FancyZones.exe' - 'modules\FancyZones\PowerToys.Interop.dll' - 'modules\FancyZones\Telemetry.dll' - 'modules\FancyZones\PowerToys.Common.UI.dll' - 'modules\FileExplorerPreview\PowerToys.GcodePreviewHandler.dll' - 'modules\FileExplorerPreview\PowerToys.GcodePreviewHandler.comhost.dll' - 'modules\FileExplorerPreview\PowerToys.GcodeThumbnailProvider.dll' - 'modules\FileExplorerPreview\PowerToys.GcodeThumbnailProvider.comhost.dll' - 'modules\FileExplorerPreview\PowerToys.ManagedTelemetry.dll' - 'modules\FileExplorerPreview\PowerToys.MarkdownPreviewHandler.dll' - 'modules\FileExplorerPreview\PowerToys.MarkdownPreviewHandler.comhost.dll' - 'modules\FileExplorerPreview\PowerToys.PdfPreviewHandler.dll' - 'modules\FileExplorerPreview\PowerToys.PdfPreviewHandler.comhost.dll' - 'modules\FileExplorerPreview\PowerToys.PdfThumbnailProvider.dll' - 'modules\FileExplorerPreview\PowerToys.PdfThumbnailProvider.comhost.dll' - 'modules\FileExplorerPreview\PowerToys.powerpreview.dll' - 'modules\FileExplorerPreview\PowerToys.PreviewHandlerCommon.dll' - 'modules\FileExplorerPreview\PowerToys.SvgPreviewHandler.dll' - 'modules\FileExplorerPreview\PowerToys.SvgPreviewHandler.comhost.dll' - 'modules\FileExplorerPreview\PowerToys.SvgThumbnailProvider.dll' - 'modules\FileExplorerPreview\PowerToys.SvgThumbnailProvider.comhost.dll' - 'modules\FileExplorerPreview\Telemetry.dll' - 'modules\ImageResizer\PowerToys.ImageResizer.exe' - 'modules\ImageResizer\PowerToys.ImageResizer.dll' - 'modules\ImageResizer\PowerToys.ImageResizerExt.dll' - 'modules\ImageResizer\PowerToys.Interop.dll' - 'modules\ImageResizer\PowerToys.ManagedCommon.dll' - 'modules\ImageResizer\PowerToys.ManagedTelemetry.dll' - 'modules\ImageResizer\PowerToys.Common.UI.dll' - 'modules\KeyboardManager\PowerToys.KeyboardManager.dll' - 'modules\KeyboardManager\KeyboardManagerEditor\PowerToys.KeyboardManagerEditor.exe' - 'modules\KeyboardManager\KeyboardManagerEngine\PowerToys.KeyboardManagerEngine.exe' - 'modules\launcher\PowerToys.Settings.UI.Lib.dll' - 'modules\launcher\PowerToys.ManagedCommon.dll' - 'modules\launcher\PowerToys.ManagedTelemetry.dll' - 'modules\launcher\PowerToys.Common.UI.dll' - 'modules\launcher\PowerToys.Launcher.dll' - 'modules\launcher\Plugins\Calculator\Microsoft.PowerToys.Run.Plugin.Calculator.dll' - 'modules\launcher\Plugins\Calculator\PowerToys.ManagedTelemetry.dll' - 'modules\launcher\Plugins\Folder\Microsoft.Plugin.Folder.dll' - 'modules\launcher\Plugins\Folder\PowerToys.ManagedTelemetry.dll' - 'modules\launcher\Plugins\Indexer\Microsoft.Plugin.Indexer.dll' - 'modules\launcher\Plugins\Indexer\PowerToys.ManagedTelemetry.dll' - 'modules\launcher\Plugins\Program\Microsoft.Plugin.Program.dll' - 'modules\launcher\Plugins\Program\PowerToys.ManagedTelemetry.dll' - 'modules\launcher\Plugins\Registry\Microsoft.PowerToys.Run.Plugin.Registry.dll' - 'modules\launcher\Plugins\Registry\PowerToys.ManagedTelemetry.dll' - 'modules\launcher\Plugins\WindowsSettings\PowerToys.ManagedTelemetry.dll' - 'modules\launcher\Plugins\WindowsSettings\Microsoft.PowerToys.Run.Plugin.WindowsSettings.dll' - 'modules\launcher\Plugins\WindowsSettings\WindowsSettings.json' - 'modules\launcher\Plugins\Shell\Microsoft.Plugin.Shell.dll' - 'modules\launcher\Plugins\Shell\PowerToys.ManagedTelemetry.dll' - 'modules\launcher\Plugins\Uri\Microsoft.Plugin.Uri.dll' - 'modules\launcher\Plugins\Uri\PowerToys.ManagedTelemetry.dll' - 'modules\launcher\Plugins\WindowWalker\Microsoft.Plugin.WindowWalker.dll' - 'modules\launcher\Plugins\WindowWalker\PowerToys.ManagedTelemetry.dll' - 'modules\launcher\Plugins\UnitConverter\Community.PowerToys.Run.Plugin.UnitConverter.dll' - 'modules\launcher\Plugins\VSCodeWorkspaces\Community.PowerToys.Run.Plugin.VSCodeWorkspaces.dll' - 'modules\launcher\Plugins\WebSearch\Community.PowerToys.Run.Plugin.WebSearch.dll' - 'modules\launcher\Plugins\Service\Microsoft.PowerToys.Run.Plugin.Service.dll' - 'modules\launcher\Plugins\System\Microsoft.PowerToys.Run.Plugin.System.dll' - 'modules\launcher\Plugins\WindowsTerminal\Microsoft.PowerToys.Run.Plugin.WindowsTerminal.dll' - 'modules\launcher\Plugins\WindowsTerminal\PowerToys.ManagedTelemetry.dll' - 'modules\launcher\PowerToys.PowerLauncher.dll' - 'modules\launcher\PowerToys.PowerLauncher.exe' - 'modules\launcher\PowerToys.PowerLauncher.Telemetry.dll' - 'modules\launcher\PowerToys.Interop.dll' - 'modules\launcher\Telemetry.dll' - 'modules\launcher\Wox.dll' - 'modules\launcher\Wox.Infrastructure.dll' - 'modules\launcher\Wox.Plugin.dll' - 'modules\MouseUtils\PowerToys.FindMyMouse.dll' - 'modules\MouseUtils\PowerToys.MouseHighlighter.dll' - 'modules\PowerRename\PowerToys.PowerRenameExt.dll' - 'modules\PowerRename\PowerToys.PowerRenameUILib.dll' - 'modules\PowerRename\PowerToys.PowerRename.exe' - 'modules\ShortcutGuide\ShortcutGuide\PowerToys.ShortcutGuide.exe' - 'modules\ShortcutGuide\ShortcutGuideModuleInterface\PowerToys.ShortcutGuideModuleInterface.dll' - 'modules\VideoConference\PowerToys.VideoConferenceModule.dll' - 'modules\VideoConference\PowerToys.VideoConferenceProxyFilter_x64.dll' - 'Settings\PowerToys.ManagedTelemetry.dll' - 'Settings\PowerToys.Settings.UI.exe' - 'Settings\PowerToys.Settings.UI.Lib.dll' - 'Settings\PowerToys.Settings.dll' - 'Settings\PowerToys.Settings.exe' - 'Settings\PowerToys.Interop.dll' - 'Settings\Telemetry.dll' - 'Settings\PowerToys.ManagedCommon.dll' signing_options: sign_inline: true # This does signing as soon as this command completes - !!buildcommand name: 'Build Power Toys Tools' command: '.pipelines\build-tools.cmd' artifacts: - from: 'x64\Release' to: 'Build_Output' include: - 'BugReportTool\BugReportTool.exe' - 'WebcamReportTool\WebcamReportTool.exe' signing_options: sign_inline: true # This does signing as soon as this command completes - !!buildcommand name: 'Build Power Toys Installer Custom Action' # Need to do separately to sign dll before building installer command: '.pipelines\build-installer-PTCustomActions.cmd' artifacts: - from: 'installer\PowerToysSetupCustomActions\x64\Release' to: 'Build_Output' include: - 'PowerToysSetupCustomActions.dll' signing_options: sign_inline: true # This does signing as soon as this command completes - !!buildcommand name: 'Build Power Toys Installer' command: '.pipelines\build-installer.cmd' artifacts: - from: 'installer\PowerToysSetup\x64\Release' to: 'Build_Installer_Output' include: - 'PowerToysSetup-*.msi' signing_options: sign_inline: true # This does signing as soon as this command completes - !!buildcommand name: 'Build Power Toys Bootstrapper' command: '.pipelines\build-bootstrapper.cmd' artifacts: - to: 'Symbols' include: - 'installer\PowerToysBootstrapper\x64\Release\PowerToysSetup-*.pdb' - from: 'installer\PowerToysBootstrapper\x64\Release' to: 'Build_Installer_Output' include: - 'PowerToysSetup-*.exe' signing_options: sign_inline: true # This does signing as soon as this command completes #package: # commands: # - !!buildcommand # name: 'Build MSIX package' # command: 'installer\msix\build_msix_cdpx.cmd' # artifacts: # - from: 'installer\msix\bin' # to: 'Build_MSIX_Package_Output' # include: # - '*.msix' # - '*.msixbundle' # signing_options: # profile: '400' static_analysis_options: binskim_options: files_to_scan: - from: 'installer/packages' exclude: - 'WiX.*/**/*.dll' - 'Wix.*/**/*.exe' - 'Microsoft.Windows.CppWinRT.*/**/*.exe' moderncop_options: files_to_scan: - from: 'src' exclude: - '**/just.config.js' - '**/webpack.config.js' - '**/webpack.serve.config.js' - '**/dist/bundle.js' policheck_options: files_to_scan: - exclude: - '**/*.lcl'