environment: host: os: 'windows' flavor: 'server' version: '2019' runtime: provider: 'appcontainer' image: 'cdpxwin1809.azurecr.io/global/vse2019:latest' source_mode: 'map' version: name: 'PowerToys' major: 1 minor: 0 signing_options: profile: 'external_distribution' package_sources: nuget: feeds: 'Nuget': 'https://api.nuget.org/v3/index.json' 'Toolset': 'https://msazure.pkgs.visualstudio.com/_packaging/Toolset/nuget/v3/index.json' 'PipelineBuildSupplement': 'https://msazure.pkgs.visualstudio.com/_packaging/PipelineBuildSupplement/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 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: 'x64/Release' to: 'Build_Output' include: - 'action_runner.exe' - 'BugReportTool\BugReportTool.exe' - 'modules\ColorPicker\ColorPicker.dll' - 'modules\ColorPicker\ColorPickerUI.dll' - 'modules\ColorPicker\ColorPickerUI.exe' - 'modules\ColorPicker\ManagedCommon.dll' - 'modules\ColorPicker\Microsoft.PowerToys.Settings.UI.Lib.dll' - 'modules\ColorPicker\PowerToysInterop.dll' - 'modules\ColorPicker\Telemetry.dll' - '**\*.resources.dll' - 'modules\FancyZones\fancyzones.dll' - 'modules\FancyZones\FancyZonesEditor.exe' - 'modules\FancyZones\FancyZonesEditor.dll' - 'modules\FancyZones\ManagedCommon.dll' - 'modules\FancyZones\Telemetry.dll' - 'modules\FileExplorerPreview\MarkdownPreviewHandler.dll' - 'modules\FileExplorerPreview\MarkdownPreviewHandler.comhost.dll' - 'modules\FileExplorerPreview\powerpreview.dll' - 'modules\FileExplorerPreview\PreviewHandlerCommon.dll' - 'modules\FileExplorerPreview\SvgPreviewHandler.dll' - 'modules\FileExplorerPreview\SvgPreviewHandler.comhost.dll' - 'modules\FileExplorerPreview\SVGThumbnailProvider.dll' - 'modules\FileExplorerPreview\SVGThumbnailProvider.comhost.dll' - 'modules\FileExplorerPreview\Telemetry.dll' - 'modules\ImageResizer\ImageResizer.exe' - 'modules\ImageResizer\ImageResizer.dll' - 'modules\ImageResizer\ImageResizerExt.dll' - 'modules\ImageResizer\PowerToysInterop.dll' - 'modules\KeyboardManager\KeyboardManager.dll' - 'modules\launcher\Microsoft.PowerToys.Settings.UI.Lib.dll' - 'modules\launcher\ManagedCommon.dll' - 'modules\launcher\Microsoft.Launcher.dll' - 'modules\launcher\Plugins\Microsoft.Plugin.Calculator\Microsoft.Plugin.Calculator.dll' - 'modules\launcher\Plugins\Microsoft.Plugin.Calculator\Wox.Infrastructure.dll' - 'modules\launcher\Plugins\Microsoft.Plugin.Calculator\Wox.Plugin.dll' - 'modules\launcher\Plugins\Microsoft.Plugin.Calculator\Telemetry.dll' - 'modules\launcher\Plugins\Microsoft.Plugin.Folder\Microsoft.Plugin.Folder.dll' - 'modules\launcher\Plugins\Microsoft.Plugin.Folder\Wox.Infrastructure.dll' - 'modules\launcher\Plugins\Microsoft.Plugin.Folder\Wox.Plugin.dll' - 'modules\launcher\Plugins\Microsoft.Plugin.Folder\Telemetry.dll' - 'modules\launcher\Plugins\Microsoft.Plugin.Indexer\Microsoft.Plugin.Indexer.dll' - 'modules\launcher\Plugins\Microsoft.Plugin.Indexer\Wox.Infrastructure.dll' - 'modules\launcher\Plugins\Microsoft.Plugin.Indexer\Telemetry.dll' - 'modules\launcher\Plugins\Microsoft.Plugin.Program\Microsoft.Plugin.Program.dll' - 'modules\launcher\Plugins\Microsoft.Plugin.Program\Wox.Infrastructure.dll' - 'modules\launcher\Plugins\Microsoft.Plugin.Program\Wox.Plugin.dll' - 'modules\launcher\Plugins\Microsoft.Plugin.Program\Telemetry.dll' - 'modules\launcher\Plugins\Microsoft.Plugin.Shell\Microsoft.Plugin.Shell.dll' - 'modules\launcher\Plugins\Microsoft.Plugin.Shell\Wox.Infrastructure.dll' - 'modules\launcher\Plugins\Microsoft.Plugin.Shell\Wox.Plugin.dll' - 'modules\launcher\Plugins\Microsoft.Plugin.Shell\Telemetry.dll' - 'modules\launcher\Plugins\Microsoft.Plugin.Uri\Microsoft.Plugin.Uri.dll' - 'modules\launcher\Plugins\Microsoft.Plugin.Uri\Wox.Infrastructure.dll' - 'modules\launcher\Plugins\Microsoft.Plugin.Uri\Wox.Plugin.dll' - 'modules\launcher\Plugins\Microsoft.Plugin.Uri\Telemetry.dll' - 'modules\launcher\Plugins\Microsoft.Plugin.WindowWalker\Microsoft.Plugin.WindowWalker.dll' - 'modules\launcher\Plugins\Microsoft.Plugin.WindowWalker\Wox.Infrastructure.dll' - 'modules\launcher\Plugins\Microsoft.Plugin.WindowWalker\Wox.Plugin.dll' - 'modules\launcher\Plugins\Microsoft.Plugin.WindowWalker\Telemetry.dll' - 'modules\launcher\PowerLauncher.dll' - 'modules\launcher\PowerLauncher.exe' - 'modules\launcher\PowerLauncher.Telemetry.dll' - 'modules\launcher\PowerLauncher.UI.exe' - 'modules\launcher\PowerToysInterop.dll' - 'modules\launcher\Telemetry.dll' - 'modules\launcher\Wox.dll' - 'modules\launcher\Wox.Infrastructure.dll' - 'modules\launcher\Wox.Plugin.dll' - 'modules\Microsoft.Launcher.dll' - 'modules\PowerRename\PowerRenameExt.dll' - 'modules\ShortcutGuide\ShortcutGuide.dll' - 'Notifications.dll' - 'os-detection.dll' - 'PowerToys.exe' - 'PowerToysInterop.dll' - 'PowerToysSettings.exe' - 'SettingsUIRunner\Microsoft.PowerToys.Settings.UI.exe' - 'SettingsUIRunner\Microsoft.PowerToys.Settings.UI.Lib.dll' - 'SettingsUIRunner\Microsoft.PowerToys.Settings.UI.Runner.dll' - 'SettingsUIRunner\Microsoft.PowerToys.Settings.UI.Runner.exe' - 'SettingsUIRunner\PowerToysInterop.dll' - 'SettingsUIRunner\Telemetry.dll' - 'SettingsUIRunner\ManagedCommon.dll' signing_options: sign_inline: true # This does signing a 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' signing_options: sign_inline: true # This does signing a 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 a 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 a 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' 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'