[CI] Sign YamlDotNet.dll (ShortcutGuide V2 dependency)#48050
Conversation
Shortcut Guide V2 (#40834) added a YamlDotNet PackageReference to ShortcutGuide.Ui and ShortcutGuide.IndexYmlGenerator. The resulting WinUI3Apps\YamlDotNet.dll is harvested into the MSI but was missing from ESRPSigning_core.json, causing the 'Verify all binaries are signed and versioned' task on the Signed Release pipeline to fail with: Not Signed: WinUI3ApplicationsFiles_File_YamlDotNet.dll Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
There was a problem hiding this comment.
Pull request overview
Adds the missing ESRP signing entry for the YamlDotNet.dll dependency that gets published into WinUI3Apps\ (via ShortcutGuide V2 projects) and then harvested into the MSI, causing the release pipeline “Verify all binaries are signed and versioned” step to fail.
Changes:
- Include
WinUI3Apps\YamlDotNet.dllin.pipelines/ESRPSigning_core.jsonso ESRP signs it alongside otherWinUI3Apps\third-party dependencies.
@check-spelling-bot Report🔴 Please reviewSee the 📂 files view, the 📜action log, 👼 SARIF report, or 📝 job summary for details.Unrecognized words (4)DWRITE These words are not needed and should be removedABlocked AClient AColumn ACR ADate ADifferent AHybrid ALarger AModifier ANull AOklab APeriod ARandom ARemapped ASingle ASUS bck BNumber BOklab BVal BValue CAtl CCom CContext CDeclaration CElems Chunghwa CImage CMock CPower CSearch CSettings CSOT CStyle CTest CVal CVirtual DArchitectures DComposition defaulttonearest diu DSVG dwrite EAccess EFile EInvalid ENot EProvider ESettings eurochange FErase FInc FMask FNumber FRestore GNumber GValue Hann HHmmssfff Hostx HPhysical HSpeed HSync HVal HValue HWP IPREVIEW ITHUMBNAIL IVO kdc LExit LPCFHOOKPROC LPrivate LReader LUMA LVal lwin MMdd MRT MSHCTX MSHLFLAGS Nanjing newcolor NLog oldcolor outsourced PBlob PElems PHL pinboard PStr PToy QDS RAlt RAquadrant rectp RKey RNumber scanled suntimes Tianma UBreak UCallback UError UFlags UHash UMax UMin unsubscribes UOffset UType vcenter VDesktop vredraw VSpeed VSync WBounds WClass workerw WReserved XAxis XButton XDeployment XDimension XDocument XElement XFile XIncrement XLoc XNamespace XPels XPixel XPos XResource XSpeed XStr XTimer YAxis YDimension YIncrement YPels YPos YResolution YSpeed YStr YTimerTo accept these unrecognized words as correct and remove the previously acknowledged and now absent words, you could run the following commands... in a clone of the git@github.com:microsoft/PowerToys.git repository curl -s -S -L 'https://raw.githubusercontent.com/check-spelling/check-spelling/cfb6f7e75bbfc89c71eaa30366d0c166f1bd9c8c/apply.pl' |
perl - 'https://github.com/microsoft/PowerToys/actions/runs/26275415129/attempts/1' &&
git commit -m 'Update check-spelling metadata'OR To have the bot accept them for you, comment in the PR quoting the following line: If the flagged items are 🤯 false positivesIf items relate to a ...
|
…ytonic resource (#48054) ## Summary Fixes the **"Build PowerToys main project"** failure on every PR/CI build off current `main` (e.g. Dart build [`147597426`](https://microsoft.visualstudio.com/Dart/_build/results?buildId=147597426)): ``` WINAPPSDKGENERATEPROJECTPRIFILE: Error PRI175: Processing Resources failed with error: Duplicate Entry. WINAPPSDKGENERATEPROJECTPRIFILE: Error PRI277: Conflicting values for resource 'Resources/QuickAccent_SelectedLanguage_Greek_Polytonic' ``` ## Root cause `src/settings-ui/Settings.UI/Strings/en-us/Resources.resw` contained two `<data name="QuickAccent_SelectedLanguage_Greek_Polytonic">` entries: - Line 3597 — original, added by #47021 (*"[PowerAccent] adding greek polytonic"*), placed in the alphabetized QuickAccent block. - Line 6175 — duplicate, appended at the file tail by #47211 (*"[Quick Accent] Move language data to PowerAccent.Common library, refactor"*). The two entries are byte-identical (same value `Greek Polytonic`, same `xml:space="preserve"`). The WinAppSDK PRI generator (`MakePri`) rejects duplicates, so every build off current `main` fails before reaching the compile step. ## Fix Remove the tail duplicate (3-line block right before `</root>`). Keeps the original entry in its alphabetized location. ## Validation - `git diff` shows exactly 3 deleted lines. - `[xml](Get-Content … -Raw)` round-trip succeeds — file is still well-formed XML. - `Select-String` count of `QuickAccent_SelectedLanguage_Greek_Polytonic` in the file is now **1** (was 2). - Only `en-us` has this key (other localized `.resw` files are populated later via Touchdown), so no other file needs touching. ## Note Discovered while investigating a CI failure unrelated to my other PR #48050 (signing of `WinUI3Apps\YamlDotNet.dll`). Both fixes are needed for the 0.100 release pipeline; this PR unblocks PR builds off `main`, and #48050 unblocks the signed release pipeline once both are merged to `main` and the next `main → stable` sync happens. Co-authored-by: Copilot <Copilot@users.noreply.github.com> Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
|
/azp run |
|
Azure Pipelines successfully started running 1 pipeline(s). |
Summary
Fixes the stable signed release pipeline failure (Dart build
147590319) at the "Verify all binaries are signed and versioned" task on bothBuild Release_x64andBuild Release_arm64:Root cause
PR #40834 (Shortcut Guide V2) added a
YamlDotNetPackageReferenceto:src/modules/ShortcutGuide/ShortcutGuide.Ui/ShortcutGuide.Ui.csprojsrc/modules/ShortcutGuide/ShortcutGuide.IndexYmlGenerator/ShortcutGuide.IndexYmlGenerator.csprojBoth projects publish into
WinUI3Apps\, soYamlDotNet.dllis harvested into the MSI byinstaller/PowerToysSetupVNext/generateAllFileComponents.ps1. The PR updatedESRPSigning_core.jsonfor its own new binaries but missed this 3rd-party transitive dependency, so ESRP never signs it and.pipelines/versionAndSignCheck.ps1correctly fails the build.Fix
One additive line to
.pipelines/ESRPSigning_core.json, placingWinUI3Apps\YamlDotNet.dllnext to the other 3rd-partyWinUI3Apps\entries (Google.Apis.*,Google.GenAI.dll,ReverseMarkdown.dll,SharpCompress.dll, …).Validation
git diffshows exactly one additive line.ConvertFrom-Jsonround-trip OK).$(Platform)\$(Configuration)\WinUI3Apps, so a singleWinUI3Apps\YamlDotNet.dllentry covers all uses.Follow-up
After merge to
main, cherry-pick / merge intostableso build147590319can be re-queued and the 0.100 release pipeline can proceed.