mirror of
https://github.com/microsoft/PowerToys.git
synced 2026-04-05 02:36:19 +02:00
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 daf4c7ef3a.
* 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>
This commit is contained in:
@@ -3,7 +3,7 @@
|
||||
<Import Project="..\packages\WiX.3.11.2\build\wix.props" Condition="Exists('..\packages\WiX.3.11.2\build\wix.props')" />
|
||||
<Import Project="..\..\src\Version.props" />
|
||||
<PropertyGroup>
|
||||
<DefineConstants>Version=$(Version)</DefineConstants>
|
||||
<DefineConstants>Version=$(Version)</DefineConstants>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup>
|
||||
<Configuration Condition=" '$(Configuration)' == '' ">Release</Configuration>
|
||||
@@ -73,6 +73,10 @@
|
||||
<Error Condition="!Exists('..\packages\WiX.3.11.2\build\wix.props')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\WiX.3.11.2\build\wix.props'))" />
|
||||
</Target>
|
||||
<PropertyGroup>
|
||||
<!-- THIS IS AN INNER LOOP OPTIMIZATION
|
||||
The build pipeline builds the Settings and Launcher projects for Publication
|
||||
using a specific profile. If you're doing local installer builds, this will
|
||||
simulate the build pipeline doing that for you. -->
|
||||
<PreBuildEvent>IF NOT DEFINED IsPipeline (
|
||||
call "$([MSBuild]::GetVsInstallRoot())\Common7\Tools\VsDevCmd.bat" -arch=amd64 -host_arch=amd64 -winsdk=10.0.18362.0
|
||||
SET PTRoot=..\..\..\..
|
||||
|
||||
@@ -1003,7 +1003,7 @@
|
||||
</Fragment>
|
||||
|
||||
<!-- Languages for localization on build farm -->
|
||||
<?define LocLanguageList = cs;de;es;fr;hu;it;ja;ko;nl;pl;pt-BR;pt-PT;ru;sv;tr;zh-Hans;zh-Hant?>
|
||||
<?define LocLanguageList = cs-CZ;de-DE;es-ES;fr-FR;hu-HU;it-IT;ja-JP;ko-KR;nl-NL;pl-PL;pt-BR;pt-PT;qps-ploc;qps-ploca;qps-plocm;ru-RU;sv-SE;tr-TR;zh-CN;zh-TW?>
|
||||
|
||||
<Fragment>
|
||||
<!-- Resource directories should be added only if the installer is built on the build farm -->
|
||||
@@ -1013,16 +1013,48 @@
|
||||
<!-- Resource file directories -->
|
||||
<?foreach Language in $(var.LocLanguageList)?>
|
||||
<!--NB: Ids can't contain hyphens-->
|
||||
<?if $(var.Language) = pt-BR?>
|
||||
<?define IdSafeLanguage = pt_BR?>
|
||||
<?if $(var.Language) = cs-CZ?>
|
||||
<?define IdSafeLanguage = cs_CZ?>
|
||||
<?elseif $(var.Language) = de-DE?>
|
||||
<?define IdSafeLanguage = de_DE?>
|
||||
<?elseif $(var.Language) = es-ES?>
|
||||
<?define IdSafeLanguage = es_ES?>
|
||||
<?elseif $(var.Language) = fr-FR?>
|
||||
<?define IdSafeLanguage = fr_FR?>
|
||||
<?elseif $(var.Language) = hu-HU?>
|
||||
<?define IdSafeLanguage = hu_HU?>
|
||||
<?elseif $(var.Language) = it-IT?>
|
||||
<?define IdSafeLanguage = it_IT?>
|
||||
<?elseif $(var.Language) = ja-JP?>
|
||||
<?define IdSafeLanguage = ja_JP?>
|
||||
<?elseif $(var.Language) = ko-KR?>
|
||||
<?define IdSafeLanguage = ko_KR?>
|
||||
<?elseif $(var.Language) = nl-NL?>
|
||||
<?define IdSafeLanguage = nl_NL?>
|
||||
<?elseif $(var.Language) = pl-PL?>
|
||||
<?define IdSafeLanguage = pl_PL?>
|
||||
<?elseif $(var.Language) = pt-BR?>
|
||||
<?define IdSafeLanguage = pt_BR?>
|
||||
<?elseif $(var.Language) = pt-PT?>
|
||||
<?define IdSafeLanguage = pt_PT?>
|
||||
<?elseif $(var.Language) = zh-Hans?>
|
||||
<?define IdSafeLanguage = zh_Hans?>
|
||||
<?elseif $(var.Language) = zh-Hant?>
|
||||
<?define IdSafeLanguage = zh_Hant?>
|
||||
<?define IdSafeLanguage = pt_PT?>
|
||||
<?elseif $(var.Language) = qps-ploc?>
|
||||
<?define IdSafeLanguage = qps_ploc?>
|
||||
<?elseif $(var.Language) = qps-ploca?>
|
||||
<?define IdSafeLanguage = qps_ploca?>
|
||||
<?elseif $(var.Language) = qps-plocm?>
|
||||
<?define IdSafeLanguage = qps_plocm?>
|
||||
<?elseif $(var.Language) = ru-RU?>
|
||||
<?define IdSafeLanguage = ru_RU?>
|
||||
<?elseif $(var.Language) = sv-SE?>
|
||||
<?define IdSafeLanguage = sv_SE?>
|
||||
<?elseif $(var.Language) = tr-TR?>
|
||||
<?define IdSafeLanguage = tr_TR?>
|
||||
<?elseif $(var.Language) = zh-CN?>
|
||||
<?define IdSafeLanguage = zh_CN?>
|
||||
<?elseif $(var.Language) = zh-TW?>
|
||||
<?define IdSafeLanguage = zh_TW?>
|
||||
<?else?>
|
||||
<?define IdSafeLanguage = $(var.Language)?>
|
||||
<?define IdSafeLanguage = $(var.Language)?>
|
||||
<?endif?>
|
||||
<Directory Id="Resource$(var.IdSafeLanguage)$(var.ParentDirectory)" Name="$(var.Language)" />
|
||||
<?undef IdSafeLanguage?>
|
||||
@@ -1036,14 +1068,46 @@
|
||||
<!-- Components for adding resource files -->
|
||||
<?foreach Language in $(var.LocLanguageList)?>
|
||||
<!--NB: Ids can't contain hyphens-->
|
||||
<?if $(var.Language) = pt-BR?>
|
||||
<?if $(var.Language) = cs-CZ?>
|
||||
<?define IdSafeLanguage = cs_CZ?>
|
||||
<?elseif $(var.Language) = de-DE?>
|
||||
<?define IdSafeLanguage = de_DE?>
|
||||
<?elseif $(var.Language) = es-ES?>
|
||||
<?define IdSafeLanguage = es_ES?>
|
||||
<?elseif $(var.Language) = fr-FR?>
|
||||
<?define IdSafeLanguage = fr_FR?>
|
||||
<?elseif $(var.Language) = hu-HU?>
|
||||
<?define IdSafeLanguage = hu_HU?>
|
||||
<?elseif $(var.Language) = it-IT?>
|
||||
<?define IdSafeLanguage = it_IT?>
|
||||
<?elseif $(var.Language) = ja-JP?>
|
||||
<?define IdSafeLanguage = ja_JP?>
|
||||
<?elseif $(var.Language) = ko-KR?>
|
||||
<?define IdSafeLanguage = ko_KR?>
|
||||
<?elseif $(var.Language) = nl-NL?>
|
||||
<?define IdSafeLanguage = nl_NL?>
|
||||
<?elseif $(var.Language) = pl-PL?>
|
||||
<?define IdSafeLanguage = pl_PL?>
|
||||
<?elseif $(var.Language) = pt-BR?>
|
||||
<?define IdSafeLanguage = pt_BR?>
|
||||
<?elseif $(var.Language) = pt-PT?>
|
||||
<?define IdSafeLanguage = pt_PT?>
|
||||
<?elseif $(var.Language) = zh-Hans?>
|
||||
<?define IdSafeLanguage = zh_Hans?>
|
||||
<?elseif $(var.Language) = zh-Hant?>
|
||||
<?define IdSafeLanguage = zh_Hant?>
|
||||
<?elseif $(var.Language) = qps-ploc?>
|
||||
<?define IdSafeLanguage = qps_ploc?>
|
||||
<?elseif $(var.Language) = qps-ploca?>
|
||||
<?define IdSafeLanguage = qps_ploca?>
|
||||
<?elseif $(var.Language) = qps-plocm?>
|
||||
<?define IdSafeLanguage = qps_plocm?>
|
||||
<?elseif $(var.Language) = ru-RU?>
|
||||
<?define IdSafeLanguage = ru_RU?>
|
||||
<?elseif $(var.Language) = sv-SE?>
|
||||
<?define IdSafeLanguage = sv_SE?>
|
||||
<?elseif $(var.Language) = tr-TR?>
|
||||
<?define IdSafeLanguage = tr_TR?>
|
||||
<?elseif $(var.Language) = zh-CN?>
|
||||
<?define IdSafeLanguage = zh_CN?>
|
||||
<?elseif $(var.Language) = zh-TW?>
|
||||
<?define IdSafeLanguage = zh_TW?>
|
||||
<?else?>
|
||||
<?define IdSafeLanguage = $(var.Language)?>
|
||||
<?endif?>
|
||||
|
||||
@@ -2,62 +2,8 @@ setlocal enableDelayedExpansion
|
||||
|
||||
IF NOT DEFINED PTRoot (SET PTRoot=..\..)
|
||||
|
||||
rem Publish Settings
|
||||
SET settingsProfileFolderName=!PTRoot!\src\settings-ui\PowerToys.Settings\Properties\PublishProfiles\
|
||||
rem Create the publish profile folder if it doesn't exist
|
||||
IF NOT EXIST !settingsProfileFolderName! (mkdir !settingsProfileFolderName!)
|
||||
SET settingsProfileFileName=SettingsProfile.pubxml
|
||||
SET settingsPublishProfile=!settingsProfileFolderName!!settingsProfileFileName!
|
||||
|
||||
rem Create the publish profile pubxml
|
||||
echo ^<?xml version="1.0" encoding="utf-8"?^> > !settingsPublishProfile!
|
||||
echo ^<^^!-- >> !settingsPublishProfile!
|
||||
echo https://go.microsoft.com/fwlink/?LinkID=208121. >> !settingsPublishProfile!
|
||||
echo --^> >> !settingsPublishProfile!
|
||||
echo ^<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"^> >> !settingsPublishProfile!
|
||||
echo ^<PropertyGroup^> >> !settingsPublishProfile!
|
||||
echo ^<PublishProtocol^>FileSystem^</PublishProtocol^> >> !settingsPublishProfile!
|
||||
echo ^<Configuration^>Release^</Configuration^> >> !settingsPublishProfile!
|
||||
echo ^<Platform^>x64^</Platform^> >> !settingsPublishProfile!
|
||||
echo ^<TargetFramework^>netcoreapp3.1^</TargetFramework^> >> !settingsPublishProfile!
|
||||
echo ^<PublishDir^>..\..\..\x64\Release\Settings^</PublishDir^> >> !settingsPublishProfile!
|
||||
echo ^<RuntimeIdentifier^>win-x64^</RuntimeIdentifier^> >> !settingsPublishProfile!
|
||||
echo ^<SelfContained^>false^</SelfContained^> >> !settingsPublishProfile!
|
||||
echo ^<PublishSingleFile^>False^</PublishSingleFile^> >> !settingsPublishProfile!
|
||||
echo ^<PublishReadyToRun^>False^</PublishReadyToRun^> >> !settingsPublishProfile!
|
||||
echo ^</PropertyGroup^> >> !settingsPublishProfile!
|
||||
echo ^</Project^> >> !settingsPublishProfile!
|
||||
rem In case of Release we should not use Debug CRT in VCRT forwarders
|
||||
msbuild !PTRoot!\src\settings-ui\PowerToys.Settings\PowerToys.Settings.csproj -t:Publish -p:Configuration="Release" -p:Platform="x64" -p:PowerToysRoot=!PTRoot! -p:AppxBundle=Never -p:VCRTForwarders-IncludeDebugCRT=false -p:PublishProfile=InstallationPublishProfile.pubxml
|
||||
|
||||
rem In case of Release we should not use Debug CRT in VCRT forwarders
|
||||
msbuild !PTRoot!\src\settings-ui\PowerToys.Settings\PowerToys.Settings.csproj -t:Publish -p:Configuration="Release" -p:Platform="x64" -p:AppxBundle=Never -p:VCRTForwarders-IncludeDebugCRT=false -p:PublishProfile=!settingsProfileFileName!
|
||||
|
||||
|
||||
rem Publish Launcher
|
||||
SET launcherProfileFolderName=!PTRoot!\src\modules\launcher\PowerLauncher\Properties\PublishProfiles\
|
||||
|
||||
rem Create the publish profile folder if it doesn't exist
|
||||
IF NOT EXIST !launcherProfileFolderName! (mkdir !launcherProfileFolderName!)
|
||||
SET launcherProfileFileName=LauncherProfile.pubxml
|
||||
SET launcherPublishProfile=!launcherProfileFolderName!!launcherProfileFileName!
|
||||
|
||||
rem Create the publish profile pubxml
|
||||
echo ^<?xml version="1.0" encoding="utf-8"?^> > !launcherPublishProfile!
|
||||
echo ^<^^!-- >> !launcherPublishProfile!
|
||||
echo https://go.microsoft.com/fwlink/?LinkID=208121. >> !launcherPublishProfile!
|
||||
echo --^> >> !launcherPublishProfile!
|
||||
echo ^<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"^> >> !launcherPublishProfile!
|
||||
echo ^<PropertyGroup^> >> !launcherPublishProfile!
|
||||
echo ^<PublishProtocol^>FileSystem^</PublishProtocol^> >> !launcherPublishProfile!
|
||||
echo ^<Configuration^>Release^</Configuration^> >> !launcherPublishProfile!
|
||||
echo ^<Platform^>x64^</Platform^> >> !launcherPublishProfile!
|
||||
echo ^<TargetFramework^>netcoreapp3.1^</TargetFramework^> >> !launcherPublishProfile!
|
||||
echo ^<PublishDir^>..\..\..\..\x64\Release\modules\launcher^</PublishDir^> >> !launcherPublishProfile!
|
||||
echo ^<RuntimeIdentifier^>win-x64^</RuntimeIdentifier^> >> !launcherPublishProfile!
|
||||
echo ^<SelfContained^>false^</SelfContained^> >> !launcherPublishProfile!
|
||||
echo ^<PublishSingleFile^>False^</PublishSingleFile^> >> !launcherPublishProfile!
|
||||
echo ^<PublishReadyToRun^>False^</PublishReadyToRun^> >> !launcherPublishProfile!
|
||||
echo ^</PropertyGroup^> >> !launcherPublishProfile!
|
||||
echo ^</Project^> >> !launcherPublishProfile!
|
||||
|
||||
rem In case of Release we should not use Debug CRT in VCRT forwarders
|
||||
msbuild !PTRoot!\src\modules\launcher\PowerLauncher\PowerLauncher.csproj -t:Publish -p:Configuration="Release" -p:Platform="x64" -p:AppxBundle=Never -p:VCRTForwarders-IncludeDebugCRT=false -p:PublishProfile=!launcherProfileFileName!
|
||||
msbuild !PTRoot!\src\modules\launcher\PowerLauncher\PowerLauncher.csproj -t:Publish -p:Configuration="Release" -p:Platform="x64" -p:AppxBundle=Never -p:PowerToysRoot=!PTRoot! -p:VCRTForwarders-IncludeDebugCRT=false -p:PublishProfile=InstallationPublishProfile.pubxml
|
||||
|
||||
Reference in New Issue
Block a user