[CI] Sign PowerAccent.Common.dll (new managed library from #47211)#48058
Conversation
PR #47211 (Quick Accent: Move language data to PowerAccent.Common library, refactor) introduced the new managed library src/modules/poweraccent/PowerAccent.Common/PowerAccent.Common.csproj. PowerAccent.Common.dll is referenced by PowerAccent.Core and PowerToys.Settings, and ships in the installer root (BaseApplicationsFiles), but was missing from .pipelines/ESRPSigning_core.json. Stable release build 147621162 fails: Not Signed: BaseApplicationsFiles_File_PowerAccent.Common.dll. Adding the entry next to the other PowerAccent.* DLLs in the existing alphabetized PowerAccent block. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
|
Okay, I have seen a few of these come by today. Can we just do one PR that fixes all of the signing problems? Do we have a systemic problem that prevents us from finding them all? |
@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/26303122729/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 ...
|
|
Also, can somebody please explain why we keep getting new spellcheck violations on PRs that don't add new words? Who is merging PRs with failing spell check results? |
Combining two approaches:
Now this official build has passed. One more thing: |
Issue addressed.
Dismiss review to unblock build.
I will have a separate PR to address this. |
## Problem Since #47119 (`Refresh check-spelling 0.0.26`, merged 2026-04-23) refreshed the check-spelling tooling and rewrote `.github/actions/spell-check/expect.txt` (938 lines / 633 deletions), the check-spelling bot has been leaving a noisy advisory comment on **every PR**: > #### These words are not needed and should be removed > ABlocked AClient AColumn ACR ADate ADifferent AHybrid ALarger AModifier ANull AOklab APeriod ARandom ARemapped ASingle ASUS bck … The same ~150-word list is appended verbatim to every PR the bot looks at (verified against #48058, #48102, #48104 — the list is identical). These tokens are residual orphans in `expect.txt` from before the 0.0.26 refresh and no longer match anything in source. ## Fix Removes exactly the 147 orphan tokens that the bot has consistently flagged as `now absent` from `.github/actions/spell-check/expect.txt`. The removed tokens are exclusively the ones the bot itself identified. All uppercase Win32 / DirectWrite identifiers that are still used in source (`DWRITE`, `LWIN`, `VCENTER`, `VREDRAW`, etc.) are **preserved**. ## Verification - Diff is a single file, deletions only: `expect.txt` shrinks from 2343 → 2196 lines. - Each of the 4 uppercase Win32 tokens (`DWRITE` line 514, `LWIN` 1074, `VCENTER` 2105, `VREDRAW` 2144 in the original) remains in the file. - The check-spelling job on this PR should now post a clean report (no `should be removed` block). ## Background — which PR introduced the drift | PR | Date | What it changed | |----|------|-----------------| | **#47119** | 2026-04-23 | Refreshed check-spelling to 0.0.26; rewrote `expect.txt` with 938 line-changes (633 deletions, 305 additions). The duplicated lowercase/uppercase entries and many obsolete tokens originate here. | --------- Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Co-authored-by: Copilot <Copilot@users.noreply.github.com>
Summary
Fixes the stable signed release pipeline failure (Dart build
147621162) at the "Verify all binaries are signed and versioned" task:Root cause
PR #47211 ("[Quick Accent] Move language data to PowerAccent.Common library, refactor") introduced the new managed library:
src/modules/poweraccent/PowerAccent.Common/PowerAccent.Common.csprojPowerAccent.Common.dllis referenced by bothPowerAccent.Core(ships in the installer root) andPowerToys.Settings(ships in WinUI3Apps; deduplicated against root bygenerateAllFileComponents.ps1). The DLL is harvested into the MSI'sBaseApplicationsFilescomponent group, but the PR did not update.pipelines/ESRPSigning_core.json, so ESRP never signs it andversionAndSignCheck.ps1correctly fails the build.This is the same kind of omission that PR #48050 fixed for
YamlDotNet.dllintroduced by #40834 — a new managed library shipping in the MSI without a matching signing config entry.Fix
One additive line in
.pipelines/ESRPSigning_core.json, placing"PowerAccent.Common.dll"inside the existing alphabetized PowerAccent block (next toPowerAccent.Core.dll)."PowerAccent.Core.dll", + "PowerAccent.Common.dll", "PowerToys.PowerAccent.dll",Validation
git diffshows exactly one additive line.ConvertFrom-Jsonround-trip OK).PowerAccent.Common.dllis the only new shippable assembly it added (the other new project,PowerAccent.Common.UnitTests, is a test project and is not included in the installer).installer/PowerToysSetupVNext/generateAllFileComponents.ps1keeps only the root copy when WinUI3Apps and root copies are byte-identical, so a single root-level entry is sufficient.Follow-up
After merge to
main, cherry-pick / merge intostableto unblock the 0.100 release pipeline. This is the third (and hopefully final) PR in the 0.100 release-pipeline unblock sequence, after #48050 (signYamlDotNet.dll) and #48054 (remove duplicateQuickAccent_SelectedLanguage_Greek_Polytonicresource).