Skip to content

Chore: Consolidate dependabot bumps (nuget-minor, actions/checkout, actions/cache, actions-minor)#1000

Open
johnml1135 wants to merge 1 commit into
mainfrom
dependabot/combined-2026-07-08
Open

Chore: Consolidate dependabot bumps (nuget-minor, actions/checkout, actions/cache, actions-minor)#1000
johnml1135 wants to merge 1 commit into
mainfrom
dependabot/combined-2026-07-08

Conversation

@johnml1135

@johnml1135 johnml1135 commented Jul 8, 2026

Copy link
Copy Markdown
Contributor

Summary

Included dependabot bumps

Why Microsoft.Extensions.DependencyModel stays at 9.0.16

Directory.Packages.props has carried a long-standing comment warning
that bumping this specific package breaks ICU initialization in the
.NET Framework test host. #984 bumped it to 9.0.17 anyway alongside the
other current-line packages. Running the full test suite locally
reproduced the exact failure the comment warns about:

System.TypeInitializationException : The type initializer for
'Icu.NativeMethods' threw an exception.
 ----> System.IO.FileLoadException : Could not load file or assembly
'Microsoft.Extensions.DependencyModel, Version=9.0.0.16, ...'

5 test fixtures (HCWorkerServiceTests, ToWordAnalysisDto_*) failed
OneTimeSetUp until this was reverted back to 9.0.16. All other
package bumps from the nuget-minor group are kept. #984 is being
closed with an explanatory comment rather than merged as-is, since
dependabot bundles it as one grouped update.

Test plan

  • .\build.ps1 -Configuration Debug -BuildTests — 0 errors, 0 warnings
  • .\test.ps1 -Configuration Debug -NoBuild -TestFilter 'TestCategory!=LongRunning&TestCategory!=ByHand&TestCategory!=SmokeTest&TestCategory!=DesktopRequired'
    (same filter as .github/workflows/CI.yml) — 4298 tests, only 12
    failures, all pre-existing local RenderBaselineTests/
    RenderBenchmark pixel-diff mismatches (font/GPU rendering
    differences vs. the windows-2022 runner that captured the
    baselines), unrelated to this branch's changes and previously
    documented as a known local-environment gap.

🤖 Generated with Claude Code


This change is Reviewable

@github-actions

This comment has been minimized.

@github-actions

github-actions Bot commented Jul 8, 2026

Copy link
Copy Markdown

NUnit Tests

    1 files  ±0      1 suites  ±0   10m 35s ⏱️ +32s
4 302 tests ±0  4 229 ✅ ±0  73 💤 ±0  0 ❌ ±0 
4 311 runs  ±0  4 238 ✅ ±0  73 💤 ±0  0 ❌ ±0 

Results for commit 04a3756. ± Comparison against base commit c874439.

♻️ This comment has been updated with latest results.

@johnml1135 johnml1135 force-pushed the dependabot/combined-2026-07-08 branch 2 times, most recently from eb24a4a to a057467 Compare July 9, 2026 00:05
@johnml1135

Copy link
Copy Markdown
Contributor Author

Added breadcrumbs to the Microsoft.Extensions.DependencyModel pin comment in Directory.Packages.props so this doesn't need to be re-diagnosed the next time someone tries to bump it (amended into the same commit, force-pushed):

  • Exact failure signature from reproducing this today: every test's OneTimeSetUp throws TypeInitializationException on Icu.NativeMethods, chained from a FileLoadException citing two conflicting requested versions of DependencyModel (our pin vs. a 2.0.4 floor). Future attempts can grep the .trx for Icu.NativeMethods/DependencyModel — zero hits means it's safe to bump.
  • Corrected/completed attribution of the 2.0.4 floor. Verified via Obj/**/project.assets.json that it's icu.net and SIL.LCModel.Core (liblcm) both requesting 2.0.4 transitively — not just icu.net as originally noted. Also confirmed libpalaso (SIL.Core, SIL.Core.Desktop, SIL.Windows.Forms, SIL.WritingSystems) and Chorus don't reference this package at all, so they're not part of the conflict.
  • A lead on an actual fix, not just "wait and retry": there's no bindingRedirect for this assembly anywhere in the repo, so the .NET Framework test host's auto-generated redirect isn't reconciling the two version requests. Adding an explicit <dependentAssembly> redirect to the NUnit test host config may unblock the bump directly instead of waiting on icu.net/liblcm to raise their floor.

No functional change — comment-only update to Directory.Packages.props.

Combines 5 open dependabot PRs into one branch so they build and test
together instead of as 5 separate merges: #997, #984, #982, #981, #980.

Included bumps:
- Microsoft.Build.Utilities.Core 18.6.3 -> 18.7.1 (+5 others) (#997)
- nuget-minor group (10 updates): System.Drawing.Common,
  System.Reflection.Metadata, System.Resources.Extensions,
  System.Security.Permissions -> 9.0.17/10.0.9; SilLcm/SilLibPalaso
  version refresh in Build/SilVersions.props (#984)
- actions/checkout 6 -> 7 across all workflow files (#982)
- actions/cache 5 -> 6 in copilot-setup-steps.yml (#981)
- actions-minor group: 2 SHA-pinned action bumps in CI.yml and
  base-installer-cd.yml (#980)

Also pulls in #979's fix for RealDataTestsBase resolving its scratch
project directory via a per-machine shared path, which collided across
git worktrees and was needed to get a clean local test run.

Holds Microsoft.Extensions.DependencyModel at 9.0.16 instead of the
9.0.17 that #984 proposed: Directory.Packages.props has a long-standing
comment warning that bumping this package breaks ICU initialization in
the .NET Framework test host, and the full local test suite reproduced
that exact failure (TypeInitializationException on Icu.NativeMethods,
FileLoadException loading Microsoft.Extensions.DependencyModel) until
this one package was reverted. Every other package in that group is
kept at its bumped version.

Verified with build.ps1 -BuildTests (0 errors/warnings) and test.ps1
using the same TestFilter as CI.yml (4298 tests, only 12 failures, all
pre-existing local RenderBaselineTests/RenderBenchmark pixel-diff
mismatches unrelated to this change).
@johnml1135 johnml1135 force-pushed the dependabot/combined-2026-07-08 branch from a057467 to 04a3756 Compare July 9, 2026 00:10
@johnml1135

Copy link
Copy Markdown
Contributor Author

Trimmed the `DependencyModel` comment - it had ballooned to 28 lines, way out of proportion with every other pin comment in this block (1-4 lines each). It now carries just the load-bearing facts (who wants what floor, the exact exception to grep for, a one-line retest procedure) and points back to this PR thread for the full investigation instead of duplicating it inline.

While in there, also fixed two pre-existing stale comments unrelated to this pin but part of the same dependabot bump: `System.Drawing.Common` and `System.Security.Permissions` both said "Pin to 9.0.16" while actually pinned at 9.0.17.

Amended into the same commit and force-pushed - still one commit, still gitlint-compliant.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant