Skip to content

Bump the nuget-deps group with 7 updates - #938

Closed
dependabot[bot] wants to merge 1 commit into
mainfrom
dependabot/nuget/main/nuget-deps-a0dcad042a
Closed

Bump the nuget-deps group with 7 updates#938
dependabot[bot] wants to merge 1 commit into
mainfrom
dependabot/nuget/main/nuget-deps-a0dcad042a

Conversation

@dependabot

@dependabot dependabot Bot commented on behalf of github Aug 21, 2026

Copy link
Copy Markdown
Contributor

Updated AwesomeAssertions from 9.5.0 to 9.6.0.

Release notes

Sourced from AwesomeAssertions's releases.

9.6.0

What's Changed

New features

Fixes

Documentation

Others

Dependencies

New Contributors

Commits viewable in compare view.

Updated CliWrap from 3.10.4 to 3.10.5.

Release notes

Sourced from CliWrap's releases.

3.10.5

What's Changed

Enhancements

Bugs

Full Changelog: Tyrrrz/CliWrap@3.10.4...3.10.5

Commits viewable in compare view.

Updated Microsoft.NET.Test.Sdk from 18.8.1 to 18.9.0.

Release notes

Sourced from Microsoft.NET.Test.Sdk's releases.

18.9.0

What's Changed

New Contributors

Full Changelog: microsoft/vstest@v18.8.0...v18.9.0

Commits viewable in compare view.

Updated ptr727.LanguageTags from 1.5.82 to 1.5.84.

Release notes

Sourced from ptr727.LanguageTags's releases.

1.5.84

What's Changed

Full Changelog: ptr727/LanguageTags@1.5.82...1.5.84

Commits viewable in compare view.

Updated xunit.analyzers from 1.27.0 to 2.0.0.

Release notes

Sourced from xunit.analyzers's releases.

2.0.0

Release notes: https://xunit.net/releases/analyzers/2.0.0

2.0.0-pre.60

Release notes: https://xunit.net/releases/analyzers/2.0.0-pre.60

2.0.0-pre.56

Release notes: https://xunit.net/releases/analyzers/2.0.0-pre.56

2.0.0-pre.51

Release notes: https://xunit.net/releases/analyzers/2.0.0-pre.51

2.0.0-pre.40

Release notes: https://xunit.net/releases/analyzers/2.0.0-pre.40

2.0.0-pre.9

Release notes: https://xunit.net/releases/analyzers/2.0.0-pre.9

Commits viewable in compare view.

Updated xunit.runner.visualstudio from 3.1.5 to 4.0.0.

Release notes

Sourced from xunit.runner.visualstudio's releases.

4.0.0

Release notes: https://xunit.net/releases/visualstudio/4.0.0

4.0.0-pre.5

Release notes: https://xunit.net/releases/visualstudio/4.0.0-pre.5

4.0.0-pre.4

Release notes: https://xunit.net/releases/visualstudio/4.0.0-pre.4

4.0.0-pre.3

Release notes: https://xunit.net/releases/visualstudio/4.0.0-pre.3

Commits viewable in compare view.

Updated xunit.v3 from 3.2.2 to 4.0.0.

Release notes

Sourced from xunit.v3's releases.

No release notes found for this version range.

Commits viewable in compare view.

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
  • @dependabot ignore <dependency name> major version will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)
  • @dependabot ignore <dependency name> minor version will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)
  • @dependabot ignore <dependency name> will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)
  • @dependabot unignore <dependency name> will remove all of the ignore conditions of the specified dependency
  • @dependabot unignore <dependency name> <ignore condition> will remove the ignore condition of the specified dependency and ignore conditions

Bumps AwesomeAssertions from 9.5.0 to 9.6.0
Bumps CliWrap from 3.10.4 to 3.10.5
Bumps Microsoft.NET.Test.Sdk from 18.8.1 to 18.9.0
Bumps ptr727.LanguageTags from 1.5.82 to 1.5.84
Bumps xunit.analyzers from 1.27.0 to 2.0.0
Bumps xunit.runner.visualstudio from 3.1.5 to 4.0.0
Bumps xunit.v3 from 3.2.2 to 4.0.0

---
updated-dependencies:
- dependency-name: AwesomeAssertions
  dependency-version: 9.6.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: nuget-deps
- dependency-name: CliWrap
  dependency-version: 3.10.5
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: nuget-deps
- dependency-name: Microsoft.NET.Test.Sdk
  dependency-version: 18.9.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: nuget-deps
- dependency-name: ptr727.LanguageTags
  dependency-version: 1.5.84
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: nuget-deps
- dependency-name: xunit.analyzers
  dependency-version: 2.0.0
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: nuget-deps
- dependency-name: xunit.runner.visualstudio
  dependency-version: 4.0.0
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: nuget-deps
- dependency-name: xunit.v3
  dependency-version: 4.0.0
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: nuget-deps
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot dependabot Bot added .NET Pull requests that update .net code dependencies Pull requests that update a dependency file labels Aug 21, 2026
@ptr727-codegen
ptr727-codegen Bot enabled auto-merge August 21, 2026 05:46
ptr727 added a commit that referenced this pull request Aug 30, 2026
…Chain (#940)

* Adopt the fleet LF line-ending default and renormalize the tree

The hub moved the fleet default from CRLF-with-LF-exceptions to
LF-with-a-CRLF-exception-for-bat-and-cmd. `.editorconfig` now declares
`[*] end_of_line = lf` and `.gitattributes` declares `* text=auto eol=lf`,
so git enforces the ending on checkout and renormalize rather than leaving
it to the editor. The per-type LF pins those two files carried (`*.sh`, the
husky hook, `uv.lock`, Dockerfiles, workflow YAML) are redundant under the
new default and are dropped.

`git add --renormalize .` converts the 160 tracked CRLF files to LF. Only
`.editorconfig`, `.editorconfig-checker.json` and `.gitattributes` carry
content changes; every other file in this commit is line-endings only, as
`git diff --ignore-cr-at-eol` shows. The six binary files are untouched.

* Re-vendor the carried instruction set from the hub

Carries `CLAUDE.md`, the file that imports `AGENTS.md` into a Claude Code
session, which this repo never had.

Re-vendors the verbatim sections the audit reported stale: `AGENTS.md`
"Context and Delegation Discipline" and "Where the Rules Live", and
`GOVERNANCE.md` "Durable Knowledge and Self-Improvement", "Repository
Boundaries and Write Safety", "Operational Repositories", "Hub-Hosted
Tooling", "Verification Discipline", "PR Review Etiquette", "Workflow YAML
Conventions" and "Repository Details". The repo-specific intro paragraphs,
"Devcontainer" and "Repository Layout" are intent-fidelity and stay this
repo's own.

"Running the Linters Locally" is promoted from `###` to `##`, matching the
hub's own heading level so the `AGENTS.md` rules table resolves, and takes
the hub's current content: the per-tool Docker one-liners are superseded by
the hub-hosted `scripts/docker_lint.py` wrapper. The PowerShell block goes
with them, since this repo tracks no `.ps1` file and the wrapper discovers
its own targets.

`CODESTYLE.md` takes the hub's current local-gate and Shell wording, and
`AGENTS.md` now names the `shell-codestyle` Skill alongside the other two.
The PlexCleaner .NET and Python subsections are unchanged.

`AUDIT.md` is rewritten against hub-hosted configuration: `repo-config/`
and `spec/secrets.json` are no longer carried, so the self-audit reaches
`repo-config/configure.sh check` and `spec/audit.py` from a hub checkout
rather than diffing local payloads that are about to be deleted.

`.github/copilot-instructions.md` takes the hub's current runbook, which
routes to `scripts/pr_review.py` in place of the hand-rolled GraphQL. The
"Disproved Claims" section keeps its shape and rules and carries no entry:
this repo had none of its own, and the hub's are proofs about the hub's
tree.

* Delete the retired repo-config and spec carries

`spec/divergences.json` gives both trees a `retire` disposition: the branch
rulesets, the repository settings and the secrets declaration are hub-hosted
ground truth reached from a hub checkout, not payloads a repo carries. A
carried copy can only restate the hub's computation or drift from it between
resyncs.

The inbound sweep re-points the two "Repository Layout"/"Configuration
Layout" bullets that described the directories, and drops the
`host-tools.json` note's aside citing the carried `spec/secrets.json` as
precedent for omitting a `$schema` pointer. `AUDIT.md` was already rewritten
against the hub-hosted payloads in the previous commit. The `HISTORY.md`
mention stays: it records what a past release shipped and was true then.

* Carry the .github/skills tree from the hub

`spec/files.json` declares `.github/skills` a `verbatim-tree` with `prune`,
applying to every fleet repo, so the 37 files are carried whole rather than
adapted. `scripts/carry.py apply` wrote them and reports the source and
target digests equal.

`.github/copilot-instructions.md` already points a review at
`.github/skills/code-review/SKILL.md`; until now that path resolved to
nothing here.

* Migrate the test project to Microsoft.Testing.Platform

The .NET 10 SDK refuses to run a VSTest target for a project that pulls in
`Microsoft.Testing.Platform.MSBuild`, which xunit.v3 4.0.0 does. That is
what has been failing the `Run unit tests` and `Build Docker image` jobs on
Dependabot's nuget-deps bumps (#937 to `develop`, #938 to `main`), each
re-rolled once with the same result, so the group has not landed since
xunit.v3 went to 4.0.0. ptr727/ProjectTemplate#1088 catalogs the same break
across the fleet and recommends the coverlet.MTP route, already round-tripped
in ptr727/LanguageTags#325, and this is that migration.

- `global.json` opts `dotnet test` into Microsoft.Testing.Platform. The hub
  cannot supply this file, since it lives in each consumer's own root.
- `xunit.runner.visualstudio` is dropped, being the VSTest adapter.
- `coverlet.collector` becomes `coverlet.MTP`, whose self-registration
  codegen needs the package on the test project's compile-time closure, so
  the `PrivateAssets`/`IncludeAssets` restriction the VSTest data collector
  carried is not re-applied.
- The CI unit-test step becomes `dotnet test --coverlet
  --coverlet-output-format cobertura --results-directory ./coverage`, which
  still lands Cobertura XML where the existing Codecov step reads it.
- `Docker/Dockerfile` copies `global.json` into the builder, without which
  `Docker/Build.sh`'s own `dotnet test` falls back to VSTest and fails the
  image build the same way.

The rest of the group's bumps ride along, and `ptr727.LanguageTags` and
`ptr727.Utilities` go to their current versions rather than the ones the
stale Dependabot PR names. `dotnet outdated` reports nothing outdated, and
`.config/dotnet-tools.json` is already at the current csharpier 1.3.0,
husky 0.9.1 and dotnet-outdated-tool 4.8.1.

Verified locally on the .NET 10.0.400 SDK: 239 of 239 tests pass under MTP,
Cobertura XML is produced, and `csharpier check` and `dotnet format style
--verify-no-changes` are clean.

* Adopt the hub-hosted reusable workflow chain

`spec/divergences.json` gives `build-release-task.yml`, `build-docker-task.yml`
and `get-version-task.yml` a `retire` disposition, and the audit reported
`publish-release.yml` missing its `plan` and `validate` jobs and
`merge-bot-pull-request.yml` missing `merge-bot`. Both findings are the same
migration, which the hub's `docs/reusable-workflows.md` tracks with
PlexCleaner as an open checkbox on stages 1, 3 and 4.

- `merge-bot-pull-request.yml` becomes the caller stub. The hub task is a
  superset of the two jobs carried here, and this repo passes no `rules` or
  `delete-branch` input: it has no tracker branch outside the built-in pairs,
  and `delete_branch_on_merge` is off fleet-wide.
- `publish-release.yml` gains `plan` (the hub's `publish-plan-task`), which
  replaces the `ref_name in (main, develop)` job guard and now fails a
  dispatch from any other branch rather than skipping silently, and
  `validate`, which is the gate the retired local `build-release-task` used
  to run inside itself. `publish` calls the hub's `build-release-task`, and
  `publish-docker-readme` calls the hub's task for the Docker Hub overview,
  which the retired local Docker task used to push as a step.
- `test-pull-request.yml` keeps its `push`-on-every-branch trigger and its
  aggregator, and its `smoke-build` now calls the hub release task. Both
  callers move to `permissions: {}` with a per-job `contents: read` grant, in
  place of the repository default of `write`.
- `build-executable-task.yml` is deleted with them. It is not a hub-hosted
  file, but the hub's `dotnet-publish` default builds the same seven runtimes
  with the same MSBuild properties and archives the same `PlexCleaner.7z`, so
  no hook is needed. The `docker-prepare` default likewise emits this repo's
  exact tags, `./Docker/Dockerfile` context and cache repository.

`validate-task.yml` stays carried: the hub's own unit-test step is the VSTest
invocation Microsoft.Testing.Platform rejects (ptr727/ProjectTemplate#1088).

`WORKFLOW.md` is reconciled against the new job graph, including all three
flow diagrams, D0.4 for the pin contract, the D4.1 dispatch-guard change,
D4.6 moving the validate gate to the caller, D9.5 naming a carried copy of a
hub task a defect, and a new S15 trace for a hub-pin bump. `ARCHITECTURE.md`,
`GOVERNANCE.md` "Repository Layout", `OPERATIONS.md` and `PlexCleaner.slnx`
follow the same sweep.

Verified locally: `actionlint` clean over the four workflows, markdownlint,
cspell, ruff, ruff format, mypy and editorconfig-checker clean.

* Exclude build output from the EditorConfig check

The hub's `.editorconfig-checker.json` excludes the Python cache directories
and nothing else, because editorconfig-checker normally scopes itself with
`git ls-files` and never sees ignored build output. That fails in a git
worktree, which is the layout `repo-worktree` mandates for every task: `.git`
is a pointer file there, so `git` is unusable inside the linter's container
and it falls back to walking the filesystem. It then reports 25 end-of-line
errors against `.artifacts/**` `.pdb`, `.cache`, and the MTP-generated
`SelfRegisteredExtensions.cs` after any local build.

`.editorconfig-checker.json` is `intent` fidelity in `spec/files.json`, so
this repo adds the three patterns its own `.gitignore` already lists.
Reproduced before the change and clean after, in this worktree.

* Select the test project with --project in the Docker build

The Docker image build failed on this branch with "Specifying a project for
'dotnet test' should be via '--project'". Under Microsoft.Testing.Platform,
which `global.json` now opts into, no 10.x SDK honors a positional project
path, and the two SDKs this repo meets differ only in how loudly they say
so. The 10.0.400 SDK the host pins ignores the path and resolves from the
current directory, which is why this passed locally. The newer
`dotnet-sdk-10.0` apt package the builder stage installs from `ubuntu:rolling`
fails outright.

The quiet arm is the worse one in the builder, since `/Builder` carries
neither `PlexCleaner.slnx` nor a root project for that fallback to find, so
`--project` is required there rather than merely tidier.

Verified by rebuilding the builder stage with `--no-cache-filter builder`:
239 of 239 tests pass inside the container.

* Answer the first review round

Three findings from the review, each verified before acting on it.

`createschema` now writes `PlexCleaner.schema.json` with LF and a trailing
newline, so a regeneration is byte-identical to the tracked file instead of a
whole-file working-tree diff against the repo's new LF default.

The line ending is set on that one write rather than on
`ConfigFileJsonContext`, which was the first attempt. That context also
writes the user's own `PlexCleaner.json`, through `WriteDefaultsToFile`,
`OpenAndUpgrade`'s schema upgrade, and the `RegisterInvalidFiles` ignore-list
update, so flipping it there would silently rewrite a Windows user's settings
file to LF on the next run that upgrades it. `PlexCleaner.defaults.json` is
not a beneficiary either way: its comments are hand-restored and its
`UseSystem`/`AutoUpdate` values are platform-dependent, so it cannot be
regenerated in place at all. The sidecar, tool-info and process-result
contexts keep CRLF, unchanged.

Verified: `createschema` leaves the tree clean, and `defaultsettings` against
a scratch path still writes CRLF.

`publish-release.yml`'s comment above the `plan` job said a feature-branch
dispatch resolves `publish == false`. The hub task exits with an `::error::`
instead, which this branch's own D4.1 already states.

`RegressionTests/README.md` said Python source is CRLF, which this branch
made untrue.

* Deserialize idet theory data to the type xUnit asked for

`FfMpegIdetInfoSerializer.Deserialize` called
`JsonSerializer.Deserialize<FfMpegIdetInfoSerializer>`, deserializing into
the serializer class rather than into `FfMpegIdetInfo`, and fell back to a
bare `new object()` on null. Both arms return something the
`Parse_Idet_Parse_Test` theory's `FfMpegIdetInfo` parameter cannot accept, so
any execution path that round-trips theory data through the registered
serializer fails at the parameter bind rather than in the serializer.

Proved by reflection against the built test assembly: with the old code
`Deserialize(typeof(FfMpegIdetInfo), json)` returns
`PlexCleanerTests.FfMpegIdetInfoSerializer`, and with the new code it returns
`PlexCleaner.FfMpegIdetInfo`. The whole suite is unaffected either way, 239
of 239 before and after, because the in-process run hands theory data to the
test directly rather than through the serializer, which is why this has sat
latent.

Pre-existing rather than introduced here, but the file is in the test project
this branch migrates to Microsoft.Testing.Platform, the execution host that
decides whether the round-trip happens at all, and the fix is one line.
Raised by Copilot as a body-only finding on all three review rounds.
@dependabot @github

dependabot Bot commented on behalf of github Aug 30, 2026

Copy link
Copy Markdown
Contributor Author

Looks like these dependencies are no longer updatable, so this is no longer needed.

@dependabot dependabot Bot closed this Aug 30, 2026
auto-merge was automatically disabled August 30, 2026 22:08

Pull request was closed

@dependabot
dependabot Bot deleted the dependabot/nuget/main/nuget-deps-a0dcad042a branch August 30, 2026 22:08
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file .NET Pull requests that update .net code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants