Skip to content

chore(deps): Bump the nuget-dependencies group with 7 updates#177

Merged
JerrettDavis merged 1 commit into
mainfrom
dependabot/nuget/nuget-dependencies-a306a2dbd8
Jul 7, 2026
Merged

chore(deps): Bump the nuget-dependencies group with 7 updates#177
JerrettDavis merged 1 commit into
mainfrom
dependabot/nuget/nuget-dependencies-a306a2dbd8

Conversation

@dependabot

@dependabot dependabot Bot commented on behalf of github Jul 6, 2026

Copy link
Copy Markdown
Contributor

Updated AWSSDK.Core from 4.0.9.7 to 4.0.100.2.

Release notes

Sourced from AWSSDK.Core's releases.

No release notes found for this version range.

Commits viewable in compare view.

Updated JD.MSBuild.Fluent from 1.3.20 to 1.3.22.

Release notes

Sourced from JD.MSBuild.Fluent's releases.

1.3.22

What's Changed

Full Changelog: JerrettDavis/JD.MSBuild.Fluent@v1.3.21...v1.3.22

1.3.21

What's Changed

Full Changelog: JerrettDavis/JD.MSBuild.Fluent@v1.3.20...v1.3.21

Commits viewable in compare view.

Updated Testcontainers.FirebirdSql from 4.12.0 to 4.13.0.

Release notes

Sourced from Testcontainers.FirebirdSql's releases.

4.13.0

What's Changed

Thank you to everyone who contributed and shared their feedback 🤜🤛.

The NuGet packages for this release have been attested for supply chain security using actions/attest. This confirms the integrity and provenance of the artifacts and helps ensure they can be trusted: #​33686956.

🚀 Features

  • feat: Add Aspire dashboard module (#​1194) @​NikiforovAll
  • feat: Add image name substitution hook (#​1710) @​HofmeisterAn
  • feat(CosmosDb): Add get method AccountEndpoint (#​1707) @​srollinet
  • feat: Improve image build failure messages (#​1700) @​HofmeisterAn

🐛 Bug Fixes

  • fix: Restore tar archive write performance regressed by padding trim (#​1719) @​HofmeisterAn
  • chore: Bump Docker.DotNet from 4.3.2 to 4.3.3 (#​1714) @​HofmeisterAn
  • chore(AspireDashboard): Cover connection string provider (#​1713) @​HofmeisterAn

📖 Documentation

  • docs: Add missing TC languages and reorder docs navigation (#​1711) @​mdelapenya
  • docs: Add note about unsupported BuildKit Dockerfile features (#​1696) @​HofmeisterAn
  • docs: Explain immutable builder behavior (#​1693) @​HofmeisterAn

🧹 Housekeeping

  • chore: Enable Dependabot cooldown (#​1716) @​HofmeisterAn
  • chore: Add nuget.config (#​1715) @​Rob-Hague
  • chore(AspireDashboard): Cover connection string provider (#​1713) @​HofmeisterAn
  • chore: Bump Docker.DotNet from 4.2.0 to 4.3.2 (#​1712) @​HofmeisterAn
  • chore: Bump sshd-docker image from 1.3.0 to 1.4.0 (#​1709) @​HofmeisterAn
  • chore: Rename runtime label and add buildkit and stale labels (#​1703) @​HofmeisterAn
  • fix: Guard expensive argument evaluation when logging (#​1702) @​HofmeisterAn
  • chore: Defer container ID truncation in logging (#​1701) @​HofmeisterAn
  • chore: Migrate to LoggerMessageAttribute (#​1697) @​HofmeisterAn

📦 Dependency Updates

  • chore(deps): Bump the actions group with 2 updates (#​1721) @dependabot[bot]
  • chore(deps): Bump the actions group with 7 updates (#​1717) @dependabot[bot]
  • chore: Bump Docker.DotNet from 4.3.2 to 4.3.3 (#​1714) @​HofmeisterAn
  • chore: Bump Docker.DotNet from 4.2.0 to 4.3.2 (#​1712) @​HofmeisterAn
  • chore(deps): Bump the actions group with 4 updates (#​1698) @dependabot[bot]

Commits viewable in compare view.

Updated Testcontainers.MsSql from 4.12.0 to 4.13.0.

Release notes

Sourced from Testcontainers.MsSql's releases.

4.13.0

What's Changed

Thank you to everyone who contributed and shared their feedback 🤜🤛.

The NuGet packages for this release have been attested for supply chain security using actions/attest. This confirms the integrity and provenance of the artifacts and helps ensure they can be trusted: #​33686956.

🚀 Features

  • feat: Add Aspire dashboard module (#​1194) @​NikiforovAll
  • feat: Add image name substitution hook (#​1710) @​HofmeisterAn
  • feat(CosmosDb): Add get method AccountEndpoint (#​1707) @​srollinet
  • feat: Improve image build failure messages (#​1700) @​HofmeisterAn

🐛 Bug Fixes

  • fix: Restore tar archive write performance regressed by padding trim (#​1719) @​HofmeisterAn
  • chore: Bump Docker.DotNet from 4.3.2 to 4.3.3 (#​1714) @​HofmeisterAn
  • chore(AspireDashboard): Cover connection string provider (#​1713) @​HofmeisterAn

📖 Documentation

  • docs: Add missing TC languages and reorder docs navigation (#​1711) @​mdelapenya
  • docs: Add note about unsupported BuildKit Dockerfile features (#​1696) @​HofmeisterAn
  • docs: Explain immutable builder behavior (#​1693) @​HofmeisterAn

🧹 Housekeeping

  • chore: Enable Dependabot cooldown (#​1716) @​HofmeisterAn
  • chore: Add nuget.config (#​1715) @​Rob-Hague
  • chore(AspireDashboard): Cover connection string provider (#​1713) @​HofmeisterAn
  • chore: Bump Docker.DotNet from 4.2.0 to 4.3.2 (#​1712) @​HofmeisterAn
  • chore: Bump sshd-docker image from 1.3.0 to 1.4.0 (#​1709) @​HofmeisterAn
  • chore: Rename runtime label and add buildkit and stale labels (#​1703) @​HofmeisterAn
  • fix: Guard expensive argument evaluation when logging (#​1702) @​HofmeisterAn
  • chore: Defer container ID truncation in logging (#​1701) @​HofmeisterAn
  • chore: Migrate to LoggerMessageAttribute (#​1697) @​HofmeisterAn

📦 Dependency Updates

  • chore(deps): Bump the actions group with 2 updates (#​1721) @dependabot[bot]
  • chore(deps): Bump the actions group with 7 updates (#​1717) @dependabot[bot]
  • chore: Bump Docker.DotNet from 4.3.2 to 4.3.3 (#​1714) @​HofmeisterAn
  • chore: Bump Docker.DotNet from 4.2.0 to 4.3.2 (#​1712) @​HofmeisterAn
  • chore(deps): Bump the actions group with 4 updates (#​1698) @dependabot[bot]

Commits viewable in compare view.

Updated Testcontainers.MySql from 4.12.0 to 4.13.0.

Release notes

Sourced from Testcontainers.MySql's releases.

4.13.0

What's Changed

Thank you to everyone who contributed and shared their feedback 🤜🤛.

The NuGet packages for this release have been attested for supply chain security using actions/attest. This confirms the integrity and provenance of the artifacts and helps ensure they can be trusted: #​33686956.

🚀 Features

  • feat: Add Aspire dashboard module (#​1194) @​NikiforovAll
  • feat: Add image name substitution hook (#​1710) @​HofmeisterAn
  • feat(CosmosDb): Add get method AccountEndpoint (#​1707) @​srollinet
  • feat: Improve image build failure messages (#​1700) @​HofmeisterAn

🐛 Bug Fixes

  • fix: Restore tar archive write performance regressed by padding trim (#​1719) @​HofmeisterAn
  • chore: Bump Docker.DotNet from 4.3.2 to 4.3.3 (#​1714) @​HofmeisterAn
  • chore(AspireDashboard): Cover connection string provider (#​1713) @​HofmeisterAn

📖 Documentation

  • docs: Add missing TC languages and reorder docs navigation (#​1711) @​mdelapenya
  • docs: Add note about unsupported BuildKit Dockerfile features (#​1696) @​HofmeisterAn
  • docs: Explain immutable builder behavior (#​1693) @​HofmeisterAn

🧹 Housekeeping

  • chore: Enable Dependabot cooldown (#​1716) @​HofmeisterAn
  • chore: Add nuget.config (#​1715) @​Rob-Hague
  • chore(AspireDashboard): Cover connection string provider (#​1713) @​HofmeisterAn
  • chore: Bump Docker.DotNet from 4.2.0 to 4.3.2 (#​1712) @​HofmeisterAn
  • chore: Bump sshd-docker image from 1.3.0 to 1.4.0 (#​1709) @​HofmeisterAn
  • chore: Rename runtime label and add buildkit and stale labels (#​1703) @​HofmeisterAn
  • fix: Guard expensive argument evaluation when logging (#​1702) @​HofmeisterAn
  • chore: Defer container ID truncation in logging (#​1701) @​HofmeisterAn
  • chore: Migrate to LoggerMessageAttribute (#​1697) @​HofmeisterAn

📦 Dependency Updates

  • chore(deps): Bump the actions group with 2 updates (#​1721) @dependabot[bot]
  • chore(deps): Bump the actions group with 7 updates (#​1717) @dependabot[bot]
  • chore: Bump Docker.DotNet from 4.3.2 to 4.3.3 (#​1714) @​HofmeisterAn
  • chore: Bump Docker.DotNet from 4.2.0 to 4.3.2 (#​1712) @​HofmeisterAn
  • chore(deps): Bump the actions group with 4 updates (#​1698) @dependabot[bot]

Commits viewable in compare view.

Updated Testcontainers.Oracle from 4.12.0 to 4.13.0.

Release notes

Sourced from Testcontainers.Oracle's releases.

4.13.0

What's Changed

Thank you to everyone who contributed and shared their feedback 🤜🤛.

The NuGet packages for this release have been attested for supply chain security using actions/attest. This confirms the integrity and provenance of the artifacts and helps ensure they can be trusted: #​33686956.

🚀 Features

  • feat: Add Aspire dashboard module (#​1194) @​NikiforovAll
  • feat: Add image name substitution hook (#​1710) @​HofmeisterAn
  • feat(CosmosDb): Add get method AccountEndpoint (#​1707) @​srollinet
  • feat: Improve image build failure messages (#​1700) @​HofmeisterAn

🐛 Bug Fixes

  • fix: Restore tar archive write performance regressed by padding trim (#​1719) @​HofmeisterAn
  • chore: Bump Docker.DotNet from 4.3.2 to 4.3.3 (#​1714) @​HofmeisterAn
  • chore(AspireDashboard): Cover connection string provider (#​1713) @​HofmeisterAn

📖 Documentation

  • docs: Add missing TC languages and reorder docs navigation (#​1711) @​mdelapenya
  • docs: Add note about unsupported BuildKit Dockerfile features (#​1696) @​HofmeisterAn
  • docs: Explain immutable builder behavior (#​1693) @​HofmeisterAn

🧹 Housekeeping

  • chore: Enable Dependabot cooldown (#​1716) @​HofmeisterAn
  • chore: Add nuget.config (#​1715) @​Rob-Hague
  • chore(AspireDashboard): Cover connection string provider (#​1713) @​HofmeisterAn
  • chore: Bump Docker.DotNet from 4.2.0 to 4.3.2 (#​1712) @​HofmeisterAn
  • chore: Bump sshd-docker image from 1.3.0 to 1.4.0 (#​1709) @​HofmeisterAn
  • chore: Rename runtime label and add buildkit and stale labels (#​1703) @​HofmeisterAn
  • fix: Guard expensive argument evaluation when logging (#​1702) @​HofmeisterAn
  • chore: Defer container ID truncation in logging (#​1701) @​HofmeisterAn
  • chore: Migrate to LoggerMessageAttribute (#​1697) @​HofmeisterAn

📦 Dependency Updates

  • chore(deps): Bump the actions group with 2 updates (#​1721) @dependabot[bot]
  • chore(deps): Bump the actions group with 7 updates (#​1717) @dependabot[bot]
  • chore: Bump Docker.DotNet from 4.3.2 to 4.3.3 (#​1714) @​HofmeisterAn
  • chore: Bump Docker.DotNet from 4.2.0 to 4.3.2 (#​1712) @​HofmeisterAn
  • chore(deps): Bump the actions group with 4 updates (#​1698) @dependabot[bot]

Commits viewable in compare view.

Updated Testcontainers.PostgreSql from 4.12.0 to 4.13.0.

Release notes

Sourced from Testcontainers.PostgreSql's releases.

4.13.0

What's Changed

Thank you to everyone who contributed and shared their feedback 🤜🤛.

The NuGet packages for this release have been attested for supply chain security using actions/attest. This confirms the integrity and provenance of the artifacts and helps ensure they can be trusted: #​33686956.

🚀 Features

  • feat: Add Aspire dashboard module (#​1194) @​NikiforovAll
  • feat: Add image name substitution hook (#​1710) @​HofmeisterAn
  • feat(CosmosDb): Add get method AccountEndpoint (#​1707) @​srollinet
  • feat: Improve image build failure messages (#​1700) @​HofmeisterAn

🐛 Bug Fixes

  • fix: Restore tar archive write performance regressed by padding trim (#​1719) @​HofmeisterAn
  • chore: Bump Docker.DotNet from 4.3.2 to 4.3.3 (#​1714) @​HofmeisterAn
  • chore(AspireDashboard): Cover connection string provider (#​1713) @​HofmeisterAn

📖 Documentation

  • docs: Add missing TC languages and reorder docs navigation (#​1711) @​mdelapenya
  • docs: Add note about unsupported BuildKit Dockerfile features (#​1696) @​HofmeisterAn
  • docs: Explain immutable builder behavior (#​1693) @​HofmeisterAn

🧹 Housekeeping

  • chore: Enable Dependabot cooldown (#​1716) @​HofmeisterAn
  • chore: Add nuget.config (#​1715) @​Rob-Hague
  • chore(AspireDashboard): Cover connection string provider (#​1713) @​HofmeisterAn
  • chore: Bump Docker.DotNet from 4.2.0 to 4.3.2 (#​1712) @​HofmeisterAn
  • chore: Bump sshd-docker image from 1.3.0 to 1.4.0 (#​1709) @​HofmeisterAn
  • chore: Rename runtime label and add buildkit and stale labels (#​1703) @​HofmeisterAn
  • fix: Guard expensive argument evaluation when logging (#​1702) @​HofmeisterAn
  • chore: Defer container ID truncation in logging (#​1701) @​HofmeisterAn
  • chore: Migrate to LoggerMessageAttribute (#​1697) @​HofmeisterAn

📦 Dependency Updates

  • chore(deps): Bump the actions group with 2 updates (#​1721) @dependabot[bot]
  • chore(deps): Bump the actions group with 7 updates (#​1717) @dependabot[bot]
  • chore: Bump Docker.DotNet from 4.3.2 to 4.3.3 (#​1714) @​HofmeisterAn
  • chore: Bump Docker.DotNet from 4.2.0 to 4.3.2 (#​1712) @​HofmeisterAn
  • chore(deps): Bump the actions group with 4 updates (#​1698) @dependabot[bot]

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 AWSSDK.Core from 4.0.9.7 to 4.0.100.2
Bumps JD.MSBuild.Fluent from 1.3.20 to 1.3.22
Bumps Testcontainers.FirebirdSql from 4.12.0 to 4.13.0
Bumps Testcontainers.MsSql from 4.12.0 to 4.13.0
Bumps Testcontainers.MySql from 4.12.0 to 4.13.0
Bumps Testcontainers.Oracle from 4.12.0 to 4.13.0
Bumps Testcontainers.PostgreSql from 4.12.0 to 4.13.0

---
updated-dependencies:
- dependency-name: AWSSDK.Core
  dependency-version: 4.0.100.2
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: nuget-dependencies
- dependency-name: JD.MSBuild.Fluent
  dependency-version: 1.3.22
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: nuget-dependencies
- dependency-name: Testcontainers.FirebirdSql
  dependency-version: 4.13.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: nuget-dependencies
- dependency-name: Testcontainers.MsSql
  dependency-version: 4.13.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: nuget-dependencies
- dependency-name: Testcontainers.MySql
  dependency-version: 4.13.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: nuget-dependencies
- dependency-name: Testcontainers.Oracle
  dependency-version: 4.13.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: nuget-dependencies
- dependency-name: Testcontainers.PostgreSql
  dependency-version: 4.13.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: nuget-dependencies
...

Signed-off-by: dependabot[bot] <support@github.com>
@github-actions

github-actions Bot commented Jul 6, 2026

Copy link
Copy Markdown
Contributor

Code Coverage

Summary
  Generated on: 07/06/2026 - 11:39:35
  Coverage date: 07/06/2026 - 11:33:18 - 07/06/2026 - 11:39:32
  Parser: MultiReport (2x Cobertura)
  Assemblies: 1
  Classes: 99
  Files: 62
  Line coverage: 85.1%
  Covered lines: 4449
  Uncovered lines: 776
  Coverable lines: 5225
  Total lines: 10513
  Branch coverage: 65.5% (1738 of 2652)
  Covered branches: 1738
  Total branches: 2652
  Method coverage: 94.8% (846 of 892)
  Full method coverage: 83.5% (745 of 892)
  Covered methods: 846
  Fully covered methods: 745
  Total methods: 892

JD.Efcpt.Build.Tasks                                                                                                                                             85.1%
  JD.Efcpt.Build.Tasks.AddSqlFileWarnings                                                                                                                         100%
  JD.Efcpt.Build.Tasks.ApplyConfigOverrides                                                                                                                       100%
  JD.Efcpt.Build.Tasks.BuildLog                                                                                                                                   100%
  JD.Efcpt.Build.Tasks.Chains.ConnectionStringResolutionChain                                                                                                    90.1%
  JD.Efcpt.Build.Tasks.Chains.ConnectionStringResolutionContext                                                                                                   100%
  JD.Efcpt.Build.Tasks.Chains.DirectoryResolutionChain                                                                                                           91.6%
  JD.Efcpt.Build.Tasks.Chains.DirectoryResolutionContext                                                                                                          100%
  JD.Efcpt.Build.Tasks.Chains.FileResolutionChain                                                                                                                 100%
  JD.Efcpt.Build.Tasks.Chains.FileResolutionContext                                                                                                               100%
  JD.Efcpt.Build.Tasks.Chains.ResourceResolutionChain                                                                                                            93.1%
  JD.Efcpt.Build.Tasks.Chains.ResourceResolutionContext                                                                                                           100%
  JD.Efcpt.Build.Tasks.CheckSdkVersion                                                                                                                           40.9%
  JD.Efcpt.Build.Tasks.ComputeFingerprint                                                                                                                        97.8%
  JD.Efcpt.Build.Tasks.Config.CodeGenerationOverrides                                                                                                             100%
  JD.Efcpt.Build.Tasks.Config.EfcptConfigGenerator                                                                                                               79.6%
  JD.Efcpt.Build.Tasks.Config.EfcptConfigOverrideApplicator                                                                                                      93.1%
  JD.Efcpt.Build.Tasks.Config.EfcptConfigOverrides                                                                                                                100%
  JD.Efcpt.Build.Tasks.Config.FileLayoutOverrides                                                                                                                 100%
  JD.Efcpt.Build.Tasks.Config.NamesOverrides                                                                                                                      100%
  JD.Efcpt.Build.Tasks.Config.ReplacementsOverrides                                                                                                               100%
  JD.Efcpt.Build.Tasks.Config.TypeMappingsOverrides                                                                                                               100%
  JD.Efcpt.Build.Tasks.ConnectionStrings.AppConfigConnectionStringParser                                                                                          100%
  JD.Efcpt.Build.Tasks.ConnectionStrings.AppSettingsConnectionStringParser                                                                                        100%
  JD.Efcpt.Build.Tasks.ConnectionStrings.ConfigurationFileTypeValidator                                                                                           100%
  JD.Efcpt.Build.Tasks.ConnectionStrings.ConnectionStringResult                                                                                                   100%
  JD.Efcpt.Build.Tasks.DacpacFingerprint                                                                                                                         96.1%
  JD.Efcpt.Build.Tasks.DbContextNameGenerator                                                                                                                    83.6%
  JD.Efcpt.Build.Tasks.Decorators.ProfileInputAttribute                                                                                                           100%
  JD.Efcpt.Build.Tasks.Decorators.ProfileOutputAttribute                                                                                                           50%
  JD.Efcpt.Build.Tasks.Decorators.ProfilingBehavior                                                                                                              91.6%
  JD.Efcpt.Build.Tasks.Decorators.TaskExecutionContext                                                                                                           66.6%
  JD.Efcpt.Build.Tasks.Decorators.TaskExecutionDecorator                                                                                                          100%
  JD.Efcpt.Build.Tasks.DetectSqlProject                                                                                                                            84%
  JD.Efcpt.Build.Tasks.EnsureDacpacBuilt                                                                                                                         96.1%
  JD.Efcpt.Build.Tasks.Extensions.DataRowExtensions                                                                                                               100%
  JD.Efcpt.Build.Tasks.Extensions.EnumerableExtensions                                                                                                            100%
  JD.Efcpt.Build.Tasks.Extensions.StringExtensions                                                                                                                100%
  JD.Efcpt.Build.Tasks.FileHash                                                                                                                                   100%
  JD.Efcpt.Build.Tasks.FileSystemHelpers                                                                                                                          100%
  JD.Efcpt.Build.Tasks.FinalizeBuildProfiling                                                                                                                     100%
  JD.Efcpt.Build.Tasks.InitializeBuildProfiling                                                                                                                   100%
  JD.Efcpt.Build.Tasks.MessageLevelHelpers                                                                                                                        100%
  JD.Efcpt.Build.Tasks.ModuleInitializer                                                                                                                          100%
  JD.Efcpt.Build.Tasks.MsBuildPropertyHelpers                                                                                                                     100%
  JD.Efcpt.Build.Tasks.NullBuildLog                                                                                                                               100%
  JD.Efcpt.Build.Tasks.PathUtils                                                                                                                                 91.6%
  JD.Efcpt.Build.Tasks.ProcessResult                                                                                                                              100%
  JD.Efcpt.Build.Tasks.ProcessRunner                                                                                                                               90%
  JD.Efcpt.Build.Tasks.Profiling.ArtifactInfo                                                                                                                     100%
  JD.Efcpt.Build.Tasks.Profiling.BuildConfiguration                                                                                                               100%
  JD.Efcpt.Build.Tasks.Profiling.BuildGraph                                                                                                                       100%
  JD.Efcpt.Build.Tasks.Profiling.BuildGraphNode                                                                                                                   100%
  JD.Efcpt.Build.Tasks.Profiling.BuildProfiler                                                                                                                   95.2%
  JD.Efcpt.Build.Tasks.Profiling.BuildProfilerManager                                                                                                             100%
  JD.Efcpt.Build.Tasks.Profiling.BuildRunOutput                                                                                                                   100%
  JD.Efcpt.Build.Tasks.Profiling.DiagnosticMessage                                                                                                                100%
  JD.Efcpt.Build.Tasks.Profiling.JsonTimeSpanConverter                                                                                                            100%
  JD.Efcpt.Build.Tasks.Profiling.ProjectInfo                                                                                                                      100%
  JD.Efcpt.Build.Tasks.Profiling.TaskExecution                                                                                                                    100%
  JD.Efcpt.Build.Tasks.ProfilingHelper                                                                                                                            100%
  JD.Efcpt.Build.Tasks.QuerySchemaMetadata                                                                                                                       89.3%
  JD.Efcpt.Build.Tasks.RenameGeneratedFiles                                                                                                                       100%
  JD.Efcpt.Build.Tasks.ResolveDbContextName                                                                                                                      96.9%
  JD.Efcpt.Build.Tasks.ResolveSqlProjAndInputs                                                                                                                   87.9%
  JD.Efcpt.Build.Tasks.RunEfcpt                                                                                                                                  62.7%
  JD.Efcpt.Build.Tasks.RunSqlPackage                                                                                                                               18%
  JD.Efcpt.Build.Tasks.Schema.ColumnModel                                                                                                                         100%
  JD.Efcpt.Build.Tasks.Schema.ColumnNameMapping                                                                                                                   100%
  JD.Efcpt.Build.Tasks.Schema.ConstraintModel                                                                                                                     100%
  JD.Efcpt.Build.Tasks.Schema.DatabaseProviderFactory                                                                                                            94.1%
  JD.Efcpt.Build.Tasks.Schema.ForeignKeyColumnModel                                                                                                               100%
  JD.Efcpt.Build.Tasks.Schema.ForeignKeyModel                                                                                                                      90%
  JD.Efcpt.Build.Tasks.Schema.IndexColumnModel                                                                                                                    100%
  JD.Efcpt.Build.Tasks.Schema.IndexModel                                                                                                                         92.8%
  JD.Efcpt.Build.Tasks.Schema.Providers.FirebirdSchemaReader                                                                                                     98.6%
  JD.Efcpt.Build.Tasks.Schema.Providers.MySqlSchemaReader                                                                                                         100%
  JD.Efcpt.Build.Tasks.Schema.Providers.OracleSchemaReader                                                                                                        100%
  JD.Efcpt.Build.Tasks.Schema.Providers.PostgreSqlSchemaReader                                                                                                    100%
  JD.Efcpt.Build.Tasks.Schema.Providers.SqliteSchemaReader                                                                                                        100%
  JD.Efcpt.Build.Tasks.Schema.Providers.SqlServerSchemaReader                                                                                                     100%
  JD.Efcpt.Build.Tasks.Schema.SchemaFingerprinter                                                                                                                 100%
  JD.Efcpt.Build.Tasks.Schema.SchemaModel                                                                                                                         100%
  JD.Efcpt.Build.Tasks.Schema.SchemaReaderBase                                                                                                                    100%
  JD.Efcpt.Build.Tasks.Schema.TableModel                                                                                                                         92.8%
  JD.Efcpt.Build.Tasks.SerializeConfigProperties                                                                                                                  100%
  JD.Efcpt.Build.Tasks.SqlProjectDetector                                                                                                                        94.5%
  JD.Efcpt.Build.Tasks.StageEfcptInputs                                                                                                                          95.7%
  JD.Efcpt.Build.Tasks.Strategies.CommandNormalizationStrategy                                                                                                   94.1%
  JD.Efcpt.Build.Tasks.Strategies.ProcessCommand                                                                                                                  100%
  JD.Efcpt.Build.Tasks.Utilities.DotNetToolUtilities                                                                                                             65.4%
  System.Text.RegularExpressions.Generated                                                                                                                       80.3%
  System.Text.RegularExpressions.Generated.<RegexGenerator_g>F9F9425F6F5E055E5C6489D8E6FA46DE135B3C69D9A15B4CBA235D8D2417FD2EC__AssemblySymbolsMetadataRegex_1   86.2%
  System.Text.RegularExpressions.Generated.<RegexGenerator_g>F9F9425F6F5E055E5C6489D8E6FA46DE135B3C69D9A15B4CBA235D8D2417FD2EC__DatabaseKeywordRegex_4           75.7%
  System.Text.RegularExpressions.Generated.<RegexGenerator_g>F9F9425F6F5E055E5C6489D8E6FA46DE135B3C69D9A15B4CBA235D8D2417FD2EC__DataSourceKeywordRegex_6         72.3%
  System.Text.RegularExpressions.Generated.<RegexGenerator_g>F9F9425F6F5E055E5C6489D8E6FA46DE135B3C69D9A15B4CBA235D8D2417FD2EC__FileNameMetadataRegex_0          86.2%
  System.Text.RegularExpressions.Generated.<RegexGenerator_g>F9F9425F6F5E055E5C6489D8E6FA46DE135B3C69D9A15B4CBA235D8D2417FD2EC__InitialCatalogKeywordRegex_5     71.2%
  System.Text.RegularExpressions.Generated.<RegexGenerator_g>F9F9425F6F5E055E5C6489D8E6FA46DE135B3C69D9A15B4CBA235D8D2417FD2EC__NonLetterRegex_2                  100%
  System.Text.RegularExpressions.Generated.<RegexGenerator_g>F9F9425F6F5E055E5C6489D8E6FA46DE135B3C69D9A15B4CBA235D8D2417FD2EC__SolutionProjectLineRegex_7       82.5%
  System.Text.RegularExpressions.Generated.<RegexGenerator_g>F9F9425F6F5E055E5C6489D8E6FA46DE135B3C69D9A15B4CBA235D8D2417FD2EC__TrailingDigitsRegex_3            95.2%

@codecov

codecov Bot commented Jul 6, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 88.61%. Comparing base (8b0a2f2) to head (2ca0fd8).

Additional details and impacted files
@@            Coverage Diff             @@
##             main     #177      +/-   ##
==========================================
+ Coverage   80.32%   88.61%   +8.29%     
==========================================
  Files          61       61              
  Lines        3848     3848              
  Branches      558      470      -88     
==========================================
+ Hits         3091     3410     +319     
+ Misses        511      438      -73     
+ Partials      246        0     -246     
Flag Coverage Δ
unittests 88.61% <ø> (+8.29%) ⬆️

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@JerrettDavis
JerrettDavis merged commit bf43e92 into main Jul 7, 2026
12 checks passed
@JerrettDavis
JerrettDavis deleted the dependabot/nuget/nuget-dependencies-a306a2dbd8 branch July 7, 2026 17:24
JerrettDavis added a commit that referenced this pull request Jul 11, 2026
… and regenerate with EfcptOfflineMode (#185)

Dependabot PR #177 bumped JD.MSBuild.Fluent 1.3.20 -> 1.3.22, which changed
several fluent-DSL APIs (ResolveMultiTargetedTaskAssembly, RegisterTasks,
BeforeTargets/AfterTargets, OutputProperty<T1,T2>). This broke
JD.Efcpt.Build.Definitions with ~44 compile errors, invisible to CI because
that project is not in JD.Efcpt.Build.sln and CI runs with generation
disabled. As a result, EfcptOfflineMode (added on this branch) never made it
into the generated buildTransitive/JD.Efcpt.Build.{props,targets}.

Adapted Definitions to the 1.3.22 API rather than pinning back to 1.3.20,
since the bump also included other patch/security updates in the same
Dependabot group:
- SharedPropertyGroups/UsingTasksRegistry: updated
  ResolveMultiTargetedTaskAssembly to the new (tasksFolderProperty,
  taskAssemblyProperty, assemblyFileName, packageId, frameworkMappings)
  signature, and RegisterTasks' renamed assemblyPathProperty parameter.
- BuildTransitiveTargetsFactory: multi-target BeforeTargets("A", "B") calls
  switched to the single semicolon-joined string form; OutputProperty<T1,T2>()
  calls (which required task-parameter marker types that were never defined,
  plus some property markers only visible from a different nested class)
  switched to the plain-string OutputProperty(taskParameter, propertyName)
  overload using the exact strings already present in the last known-good
  generated targets file.

Separately, JD.Efcpt.Build.csproj never actually wired in the Definitions
sources: JD.MSBuild.Fluent's generator reflects over the project's own
compiled JD.Efcpt.Build.dll for JDMSBuildFluentDefinitionType, and a
ProjectReference to JD.Efcpt.Build.Definitions.csproj is not enough - the
type must be physically compiled into that assembly. Added a Compile
Include so JD.Efcpt.Build.Definitions's sources compile directly into
JD.Efcpt.Build.dll (IncludeBuildOutput=false, so this does not affect the
packed NuGet output).

Regenerated buildTransitive/JD.Efcpt.Build.{props,targets} (and build/):
EfcptOfflineMode now appears in the props defaults and is wired into the
RunEfcpt task's OfflineMode parameter. Diffed the regenerated files against
the previous versions: aside from EfcptOfflineMode, all other properties/
targets are preserved; the only other differences are the newer generator's
XML formatting and two target names (EfcptEnsureDacpac,
EfcptQuerySchemaMetadata) that were already renamed in source but never
regenerated.

Follow-up recommended (not filed): add JD.Efcpt.Build.Definitions to the
solution, or add a CI step that builds it / diffs regenerated output against
committed buildTransitive files, so this class of breakage can't silently
reoccur.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
JerrettDavis added a commit that referenced this pull request Jul 11, 2026
* feat(tasks): introduce ISdkProbe seam for RunEfcpt SDK/dnx/global-tool checks

Extracts RunEfcpt's SDK/dnx capability checks behind an ISdkProbe interface
(plus a new IsGlobalToolInstalled probe for later offline pre-flight use).
DefaultSdkProbe delegates to the existing #187 memoized probes on RunEfcpt
(backed by SdkProbeCache) so caching and behavior are unchanged. Threads the
probe through the tool resolution/restore Strategy contexts so predicates
call ctx.Probe.* instead of the static methods directly - a pure testability
seam with no behavior change; existing RunEfcptTests/DotNetToolUtilitiesTests
stay green.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* feat(offline): add EfcptOfflineMode property and gate the three network-dependent tool branches

Adds EfcptOfflineMode (default false) to both mirrored property groups in
BuildTransitivePropsFactory.cs, and the OfflineMode task param on RunEfcpt in
BuildTransitiveTargetsFactory.cs. RunEfcpt gains an OfflineMode property
(OR-ed with the EFCPT_OFFLINE env var) and threads a resolved `Offline` flag
through the tool resolution/restore Strategy contexts, prepending
`!ctx.Offline &&` to the three network-dependent branches (dnx execution,
tool-manifest restore, global tool update) so none of them spawn a process
when offline. Emits a one-time high-importance status message when offline.

KNOWN GAP: buildTransitive/JD.Efcpt.Build.{props,targets} are NOT regenerated
in this commit. Regeneration is currently broken on main independent of this
change: dependabot PR #177 bumped JD.MSBuild.Fluent 1.3.20 -> 1.3.22 as a
"semver-patch" update, but TargetsBuilder.RegisterTasks's parameter names
changed (`assemblyPath` no longer valid), which cascades into ~44 compile
errors in JD.Efcpt.Build.Definitions (a project that is not part of the .sln
and is never built by CI - see GENERATING.md's note that CI always disables
generation). Reproduced identically on a clean checkout of origin/main via
`dotnet msbuild -t:JDMSBuildFluentGenerate` per GENERATING.md. Per explicit
instruction not to hand-edit the generated XML, this is left as a follow-up:
fix the JD.MSBuild.Fluent version mismatch (or pin back to 1.3.20), then
regenerate and commit the buildTransitive files including this property.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* feat(offline): add JD0026 pre-flight validation, guard update-check target, add docs

RunEfcpt now validates, when offline, that the efcpt tool is guaranteed
runnable without a network call: an explicit existing EfcptToolPath, a
discovered (already-restored) tool manifest, or a global tool resolvable on
PATH via the new ISdkProbe.IsGlobalToolInstalled. If none apply, the task
logs actionable error JD0026 (mirroring ProviderDriverNotFoundException's
shape - problem, exact dotnet tool install commands, detected state, docs
URL) via log.Error and returns false rather than throwing, per
TaskExecutionDecorator's contract.

Adds EfcptToolNotAvailableOfflineException as the JD0026 message builder.
Guards the _EfcptCheckForUpdates target with `and '$(EfcptOfflineMode)' !=
'true'` so the SDK update-check network call is also skipped offline (same
buildTransitive regeneration gap noted in the prior commit - source-level
change only, pending the JD.MSBuild.Fluent version fix).

Adds docs/user-guide/offline.md (full offline/air-gapped workflow) and a
JD0026 entry in docs/user-guide/error-codes.md.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* test(offline): add OfflineModeTests covering network-skip and JD0026 pre-flight

Adds TinyBDD Given/When/Then scenarios, mirroring RunEfcptTests/
DotNetToolUtilitiesTests conventions ([Collection(nameof(AssemblySetup))]):

- offline-skips-network: a ThrowingSdkProbe that fails the test if any probe
  method is invoked; OfflineMode=true, TargetFramework=net10.0, a
  pre-provisioned explicit ToolPath (a real, always-succeeding .cmd script,
  not EFCPT_FAKE_EFCPT - which short-circuits before tool resolution runs at
  all) -> task succeeds, no probe/restore/acquire path is touched.
- offline-fails-actionably: OfflineMode=true, no manifest, no ToolPath,
  TargetFramework=net8.0, an AllUnavailableSdkProbe -> task returns false and
  Engine.Errors contains code JD0026 with a "dotnet tool install" command.
- offline-disabled-by-default: OfflineMode left unset -> defaults to "false"
  and fake-mode execution is unaffected.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* fix(build): repair buildTransitive generation (JD.MSBuild.Fluent API) and regenerate with EfcptOfflineMode (#185)

Dependabot PR #177 bumped JD.MSBuild.Fluent 1.3.20 -> 1.3.22, which changed
several fluent-DSL APIs (ResolveMultiTargetedTaskAssembly, RegisterTasks,
BeforeTargets/AfterTargets, OutputProperty<T1,T2>). This broke
JD.Efcpt.Build.Definitions with ~44 compile errors, invisible to CI because
that project is not in JD.Efcpt.Build.sln and CI runs with generation
disabled. As a result, EfcptOfflineMode (added on this branch) never made it
into the generated buildTransitive/JD.Efcpt.Build.{props,targets}.

Adapted Definitions to the 1.3.22 API rather than pinning back to 1.3.20,
since the bump also included other patch/security updates in the same
Dependabot group:
- SharedPropertyGroups/UsingTasksRegistry: updated
  ResolveMultiTargetedTaskAssembly to the new (tasksFolderProperty,
  taskAssemblyProperty, assemblyFileName, packageId, frameworkMappings)
  signature, and RegisterTasks' renamed assemblyPathProperty parameter.
- BuildTransitiveTargetsFactory: multi-target BeforeTargets("A", "B") calls
  switched to the single semicolon-joined string form; OutputProperty<T1,T2>()
  calls (which required task-parameter marker types that were never defined,
  plus some property markers only visible from a different nested class)
  switched to the plain-string OutputProperty(taskParameter, propertyName)
  overload using the exact strings already present in the last known-good
  generated targets file.

Separately, JD.Efcpt.Build.csproj never actually wired in the Definitions
sources: JD.MSBuild.Fluent's generator reflects over the project's own
compiled JD.Efcpt.Build.dll for JDMSBuildFluentDefinitionType, and a
ProjectReference to JD.Efcpt.Build.Definitions.csproj is not enough - the
type must be physically compiled into that assembly. Added a Compile
Include so JD.Efcpt.Build.Definitions's sources compile directly into
JD.Efcpt.Build.dll (IncludeBuildOutput=false, so this does not affect the
packed NuGet output).

Regenerated buildTransitive/JD.Efcpt.Build.{props,targets} (and build/):
EfcptOfflineMode now appears in the props defaults and is wired into the
RunEfcpt task's OfflineMode parameter. Diffed the regenerated files against
the previous versions: aside from EfcptOfflineMode, all other properties/
targets are preserved; the only other differences are the newer generator's
XML formatting and two target names (EfcptEnsureDacpac,
EfcptQuerySchemaMetadata) that were already renamed in source but never
regenerated.

Follow-up recommended (not filed): add JD.Efcpt.Build.Definitions to the
solution, or add a CI step that builds it / diffs regenerated output against
committed buildTransitive files, so this class of breakage can't silently
reoccur.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* fix(build): honor EFCPT_OFFLINE env var in update-check guard (#185)

EfcptOfflineMode's default now honors a truthy EFCPT_OFFLINE environment
variable (MSBuild exposes env vars as properties automatically), so the
documented "either is sufficient" contract holds for consumers of the
property directly - notably the _EfcptCheckForUpdates target, which reads
$(EfcptOfflineMode) rather than going through RunEfcpt's task-level OR.

Truthy tokens intentionally mirror StringExtensions.IsTrue()
(true/yes/on/1/enable/enabled/y); MSBuild condition equality is
case-insensitive so no extra case variants are needed.
EFCPT_OFFLINE=false/0/unset does not enable offline mode. Regenerated
buildTransitive/JD.Efcpt.Build.{props,targets} from the factory via
JDMSBuildFluentGenerate. Updated docs/user-guide/offline.md to describe
the two independent OR points (MSBuild property default vs. task-level
env-var read) and the exact accepted values.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* fix(build): verify manifest lists efcpt tool in offline pre-flight (#185)

The offline JD0026 pre-flight's manifest leg previously treated ANY
discovered .config/dotnet-tools.json as proof the efcpt tool was runnable.
A stale, foreign, or never-restored manifest (or a ToolMode that wouldn't
even use it) would pass pre-flight and only fail later with a cryptic
`dotnet tool run` error instead of the actionable JD0026.

The manifest leg now only counts as runnable when (a) the current
ToolMode would actually use the manifest - extracted the existing
ToolIsAutoOrManifest condition into a reusable ToolModeUsesManifest(mode,
manifestDir, forceManifestOnNonWindows) helper, callable before a
ToolResolutionContext exists - and (b) the manifest file itself lists an
entry for the target tool (matched by ToolPackageId or by a "commands"
entry matching ToolCommand), via a new ManifestListsTool() helper that
does a tolerant local JSON read (malformed/unreadable manifests are
treated as "not runnable", never thrown). Both checks are local file
reads only, so they remain offline-safe. The explicit-ToolPath and
global-tool-on-PATH legs are unchanged.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* test(185): cover offline strategy gates, env var, and gate-regression

The existing 3 OfflineModeTests scenarios all bypass the !ctx.Offline
STRATEGY gates in RunEfcpt (explicit ToolPath short-circuits before them;
EFCPT_FAKE_EFCPT returns before tool resolution runs at all). Adds 4
scenarios that exercise those gates directly, using capturing fake
dotnet/global-tool .cmd scripts (append invocation to a log file, exit 0)
plus counting/throwing ISdkProbe substitutes to assert what did and
didn't run:

- Offline + a manifest that lists the efcpt tool resolves via
  'dotnet tool run', with dnx/global-tool probes and tool
  restore/update never invoked (TFM net10.0, no explicit ToolPath).
- Offline + no manifest + a global tool on PATH succeeds by invoking the
  tool directly, without ever touching dotnet (proving tool update
  --global never runs).
- EFCPT_OFFLINE set with EfcptOfflineMode left at its default reproduces
  the JD0026 pre-flight failure via the task-level env-var OR-in alone;
  the MSBuild-property-level bridge is verified separately via the
  generated buildTransitive/*.props XML (a full MSBuild target harness is
  out of scope for this task-level project).
- Offline=false gate-regression: with a manifest present, TFM net8.0, and
  a counting probe, tool restore genuinely runs - proving the
  !ctx.Offline prefix is a real gate, not inverted or always-on.

7 OfflineModeTests scenarios total, all passing.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* fix(build): preserve shipped target names (EfcptEnsureDacpacBuilt/EfcptQuerySchemaMetadataForDb) to avoid breaking samples/consumers (#185)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* fix(tests): make offline-mode fake-shim harness cross-platform (Linux CI) (#185)

The offline-mode tests created fake dotnet/global-tool shims as Windows .cmd
batch scripts. On the Linux CI runner a .cmd file is not executable, so the
shim never ran, its invocation log was never written, and the assertions
(task succeeds / no error / invocation recorded) failed with
FileNotFoundException. This is a test-portability bug, not a defect in the
offline-mode logic.

Introduce TestScripts.CreateCaptureScript / CreateAlwaysSucceedsScript which
branch on OperatingSystem.IsWindows(): Windows still gets a .cmd batch file
(wrapped via cmd.exe /c by CommandNormalizationStrategy); Linux/macOS get a
#!/bin/sh script with the executable bit set (File.SetUnixFileMode, via the
existing TestFileSystem.MakeExecutable helper), launched directly by
Process.Start. Test-only change; no product code touched.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* fix(tests): use ToolMode=global for offline global-tool test to avoid Linux auto-mode manifest fallback (#185)

RunEfcpt.ExecuteCore forces `auto` ToolMode into tool-manifest resolution
on non-Windows whenever ToolPath is empty (forceManifestOnNonWindows),
regardless of whether a manifest actually exists - a deliberate guard
against fragile bare-PATH assumptions on CI. The offline
global-tool-on-PATH test used ToolMode="auto" with no manifest and no
ToolPath, so on Linux it silently resolved via `dotnet tool run` (through
the fake dotnet shim) instead of invoking the fake global-tool executable
directly, leaving global-tool-invocations.log never written.

Using ToolMode="global" (any non-auto/non-tool-manifest value, per the
ToolMode doc comment) bypasses that platform-dependent branch entirely
and exercises the intended Default/global-tool resolution branch
identically on Windows and Linux. No product code changes.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant