Skip to content

ci(191): cross-OS build/test matrix, samples build, integration categorization#208

Merged
JerrettDavis merged 3 commits into
mainfrom
feat/191-ci-matrix
Jul 11, 2026
Merged

ci(191): cross-OS build/test matrix, samples build, integration categorization#208
JerrettDavis merged 3 commits into
mainfrom
feat/191-ci-matrix

Conversation

@JerrettDavis

Copy link
Copy Markdown
Owner

Summary

Implements the CI compatibility-matrix sub-item of #191: the project claims an OS x .NET-version support matrix, but CI only ever built/tested on ubuntu. This adds real cross-OS coverage and a samples build, without touching the existing merge-gating jobs.

  • build-test-matrix (new): ubuntu-latest / windows-latest / macos-latest x .NET 8/9/10, fail-fast: false, 30 min timeout. Builds JD.Efcpt.Build.sln Release and runs dotnet test --filter "Category!=Integration". The windows leg is the only place in CI that exercises the net472 Framework-MSBuild task-loading path; macos catches path-separator/line-ending assumptions.
  • samples-build (new): ubuntu-latest, 20 min timeout. Packs the library to a local NuGet feed (./artifacts, ./pkg), then builds every sample under samples/ individually with -p:EfcptEnabled=false so the generation pipeline is fully inert - no DB connection, DACPAC query, or efcpt invocation ever happens. Proves the samples are well-formed and reference resolvable packages/SDKs.
  • [Trait("Category", "Integration")] added to every test that needs Docker (Testcontainers), a live cloud secret store, or the real efcpt CLI, so build-test-matrix can safely exclude them via the filter while pr-checks keeps running the full suite unchanged on ubuntu.
  • concurrency group added to the workflow (wasn't previously present).

Existing required checks (build, pr-checks, analyze) are UNCHANGED - pr-checks's job id/name and steps are untouched, and build/analyze live in separate workflow files (vsix.yml/vscode-ext.yml/docs.yml for build, codeql-analysis.yml for analyze) that this PR does not touch. The two new jobs are purely additive with their own job ids.

Pre-existing sample bugs fixed (blocking a green samples-build)

  • 6 sample .csproj files targeted net8.0 while pinning Microsoft.EntityFrameworkCore(.SqlServer) 10.0.1, which only supports net10.0 - bumped TFM to net10.0 to match the already-pinned package version.
  • samples/database-first-sql-generation/nuget.config pointed at a hardcoded, non-portable C:\tmp\local-packages source - fixed to the relative ../../artifacts path used by every other sample.
  • The repo root's central package management (Directory.Packages.props, ManagePackageVersionsCentrally=true) was leaking into samples/, which pins its own package versions inline (not CPM-managed) - added samples/Directory.Build.props and samples/Directory.Packages.props so samples opt out, matching how they're actually authored.
  • samples/Samples.sln itself is broken (a stale simple-sql-integration project reference to a directory that no longer exists in the repo) - samples-build builds each sample solution/project individually instead of the aggregate .sln.

Tests tagged [Trait("Category", "Integration")]

Class-level (Testcontainers - Docker/live DB):

  • SqlServerSchemaIntegrationTests, MySqlSchemaIntegrationTests, FirebirdSchemaIntegrationTests, PostgreSqlSchemaIntegrationTests, OracleSchemaIntegrationTests, SnowflakeSchemaIntegrationTests, QuerySchemaMetadataIntegrationTests, EndToEndReverseEngineeringTests (all in tests/JD.Efcpt.Build.Tests/Integration/)
  • SqlGenerationIntegrationTests, SqlProjectTargetDiagnosticTests, CodeGenerationTests, SdkNet80Tests, SdkNet90Tests, SdkNet100Tests, BuildPackageTests, DesignTimeBuildTests, FrameworkMsBuildTests, TemplateTests (all in tests/JD.Efcpt.Sdk.IntegrationTests/ - each drives a real dotnet build against a real efcpt tool-manifest install)

Method-level (mixed fake/real scenarios in the same class):

  • PipelineTests.End_to_end_generates_dacpac_and_runs_real_efcpt (its sibling fake-mode test stays untagged)
  • DirectDacpacTests.Pipeline_succeeds_with_direct_dacpac_real_efcpt (its 3 sibling fake-mode tests stay untagged)
  • AwsSecretsManagerConnectionStringSourceTests.Real_secrets_manager_endpoint_resolves_secret, AzureKeyVaultConnectionStringSourceTests.Real_key_vault_endpoint_resolves_secret (both already self-skip via Skip.If when live credentials aren't set, but tagging keeps them consistent with the filter)

Not tagged (verified safe to run everywhere): SqliteSchemaIntegrationTests (local temp file, no Docker/server), ContainerStartupTests (pure string-matching unit test, no Docker), RunSqlPackageTests (spawns the local dotnet host only), BuildTransitiveTests (static nupkg zip inspection, no build/tool).

Local validation (Windows)

  • dotnet build JD.Efcpt.Build.sln -c Release - 0 errors, 6 pre-existing warnings (unrelated Microsoft.Build.* TFM-support warnings).
  • dotnet test JD.Efcpt.Build.sln -c Release --no-build --filter "Category!=Integration" - 1233 passed, 0 failed, 0 skipped across 7 test assemblies. This is effectively the windows leg of the new matrix, run locally - no cross-platform test failures found or anticipated to fix.
  • All 13 samples (12 solutions + the bare custom-provider class library) built individually with -p:EfcptEnabled=false - 0 errors.
  • macOS leg is validated by CI (this session had no macOS runner available locally).

Test plan

  • CI: pr-checks stays green (unchanged full suite + coverage, ubuntu)
  • CI: build-test-matrix green on ubuntu-latest / windows-latest / macos-latest
  • CI: samples-build green on ubuntu-latest
  • CI: build (vsix/vscode-ext/docs) and analyze (CodeQL) checks unaffected

Part of #191.

… test categorization

Adds two new CI jobs alongside the existing pr-checks/build/analyze gates (unchanged):
- build-test-matrix: builds and unit-tests on ubuntu/windows/macos with Category!=Integration,
  exercising the windows net472 MSBuild-host path and macos path/line-ending behavior that an
  ubuntu-only pipeline never reaches.
- samples-build: builds every sample under samples/ with -p:EfcptEnabled=false so no live DB or
  efcpt invocation is required, proving the samples compile in CI.

Tags Testcontainers/live-cloud/real-efcpt tests with [Trait("Category", "Integration")] so the
new matrix legs skip them (they stay ubuntu-only via the unchanged pr-checks job). Fixes
pre-existing sample bugs blocking a green samples-build: EF Core 10.0.1/net8.0 TFM mismatches,
a hardcoded C:\tmp nuget source, and central package management leaking into samples/ (new
samples/Directory.Build.props and samples/Directory.Packages.props opt samples out of repo-root
CPM, matching how each sample already pins its own package versions).

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

- build-test-matrix comment no longer overclaims net472-host/real-efcpt coverage: those tests
  are [Trait("Category","Integration")]-tagged and excluded on every matrix leg by the
  Category!=Integration filter; that coverage stays on the ubuntu pr-checks job. The matrix leg
  validates cross-OS build + the non-integration unit/logic suite (path-separator/line-ending/
  OS-specific behavior).
- samples-build no longer builds samples/custom-provider/Acme.Efcpt.Mongo explicitly - it is a
  member of JD.Efcpt.Build.sln and already built by the "Restore and build library" step.
- Added a maintainability note by the pack step: samples resolve the locally-packed 1.0.0
  package from ./artifacts via Version="*", which assumes the local build sorts at/above any
  published version; revisit on a real >=1.0 release.

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

codecov Bot commented Jul 11, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 92.19%. Comparing base (826e9d1) to head (c16d7be).

Additional details and impacted files
@@            Coverage Diff             @@
##             main     #208      +/-   ##
==========================================
+ Coverage   84.93%   92.19%   +7.26%     
==========================================
  Files          93       93              
  Lines        4832     4832              
  Branches      746      620     -126     
==========================================
+ Hits         4104     4455     +351     
+ Misses        429      377      -52     
+ Partials      299        0     -299     
Flag Coverage Δ
unittests 92.19% <ø> (+7.26%) ⬆️

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.

The samples-build job failed on the first sample (sdk-zero-config) with NU1301: local source
'<repo-root>/packages' doesn't exist. Root cause: samples/sdk-zero-config/nuget.config has no
<clear/>, so it inherited samples/NuGet.config's stale `local-packages` source
value="../packages" (= <repo-root>/packages, a directory that never exists). Every sample lacking
its own <clear/>'d config (sdk-zero-config, connection-string-sqlite) inherited the same bad feed.

Fixes:
- samples/NuGet.config: repoint local-packages from ../packages to ../artifacts (the repo-root
  folder the Pack step actually writes to).
- samples-build workflow: pass the packed feed explicitly on each restore via
  --source "$GITHUB_WORKSPACE/artifacts" (+ nuget.org), which overrides per-sample nuget.config
  package sources for the restore so it no longer depends on relative-path resolution. This also
  covers split-data-and-models (whose config only lists ../../pkg) resolving JD.Efcpt.Build from
  the artifacts feed.

No source/test changes. All other sample configs already <clear/> and point at valid feeds.

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

Copy link
Copy Markdown
Contributor

Code Coverage

Summary
  Generated on: 07/11/2026 - 22:23:03
  Coverage date: 07/11/2026 - 22:07:44 - 07/11/2026 - 22:23:01
  Parser: MultiReport (7x Cobertura)
  Assemblies: 11
  Classes: 132
  Files: 93
  Line coverage: 88.7%
  Covered lines: 5510
  Uncovered lines: 695
  Coverable lines: 6205
  Total lines: 14514
  Branch coverage: 71% (2168 of 3052)
  Covered branches: 2168
  Total branches: 3052
  Method coverage: 96.3% (1049 of 1089)
  Full method coverage: 85.9% (936 of 1089)
  Covered methods: 1049
  Fully covered methods: 936
  Total methods: 1089

JD.Efcpt.Build.ConnectionStrings.AwsSecretsManager                                                                                                                 80%
  JD.Efcpt.Build.ConnectionStrings.AwsSecretsManager.AwsSecretsManagerClientAdapter                                                                              57.1%
  JD.Efcpt.Build.ConnectionStrings.AwsSecretsManager.AwsSecretsManagerConnectionStringSource                                                                     91.2%

JD.Efcpt.Build.ConnectionStrings.AzureKeyVault                                                                                                                   80.9%
  JD.Efcpt.Build.ConnectionStrings.AzureKeyVault.AzureKeyVaultConnectionStringSource                                                                             94.4%
  JD.Efcpt.Build.ConnectionStrings.AzureKeyVault.AzureSecretClientAdapter                                                                                           0%

JD.Efcpt.Build.Core                                                                                                                                              88.7%
  JD.Efcpt.Build.Core.Config.CodeGenerationOverrides                                                                                                              100%
  JD.Efcpt.Build.Core.Config.EfcptConfigGenerator                                                                                                                77.7%
  JD.Efcpt.Build.Core.Config.EfcptConfigOverrides                                                                                                                 100%
  JD.Efcpt.Build.Core.Config.FileLayoutOverrides                                                                                                                  100%
  JD.Efcpt.Build.Core.Config.NamesOverrides                                                                                                                       100%
  JD.Efcpt.Build.Core.Config.ReplacementsOverrides                                                                                                                100%
  JD.Efcpt.Build.Core.Config.TypeMappingsOverrides                                                                                                                100%
  JD.Efcpt.Build.Core.ConnectionStrings.AppConfigConnectionStringParser                                                                                           100%
  JD.Efcpt.Build.Core.ConnectionStrings.AppSettingsConnectionStringParser                                                                                         100%
  JD.Efcpt.Build.Core.ConnectionStrings.ConfigurationFileTypeValidator                                                                                            100%
  JD.Efcpt.Build.Core.ConnectionStrings.ConnectionStringResolutionChain                                                                                          88.5%
  JD.Efcpt.Build.Core.ConnectionStrings.ConnectionStringResolutionContext                                                                                         100%
  JD.Efcpt.Build.Core.ConnectionStrings.ConnectionStringResult                                                                                                    100%
  JD.Efcpt.Build.Core.ConnectionStrings.ConnectionStringSourceContext                                                                                              75%
  JD.Efcpt.Build.Core.ConnectionStrings.ConnectionStringSourceException                                                                                           100%
  JD.Efcpt.Build.Core.ConnectionStrings.ConnectionStringSourceResult                                                                                               90%
  JD.Efcpt.Build.Core.ConnectionStrings.CoreConnectionStringSourceResolver                                                                                          0%
  JD.Efcpt.Build.Core.ConnectionStrings.EnvironmentVariableConnectionStringSource                                                                                 100%
  JD.Efcpt.Build.Core.Diagnostics.DefaultSdkProbe                                                                                                                33.3%
  JD.Efcpt.Build.Core.Diagnostics.DefaultToolAcquirer                                                                                                            68.4%
  JD.Efcpt.Build.Core.Diagnostics.DoctorEngine                                                                                                                   91.8%
  JD.Efcpt.Build.Core.Diagnostics.DoctorInputs                                                                                                                   90.9%
  JD.Efcpt.Build.Core.Diagnostics.DotNetToolUtilities                                                                                                            85.2%
  JD.Efcpt.Build.Core.Diagnostics.SdkProbeCache                                                                                                                    86%
  JD.Efcpt.Build.Core.Diagnostics.SecretRedaction                                                                                                                94.1%
  JD.Efcpt.Build.Core.Diagnostics.ToolAcquisitionOutcome                                                                                                          100%
  JD.Efcpt.Build.Core.Diagnostics.ToolAcquisitionRequest                                                                                                          100%
  JD.Efcpt.Build.Core.FileHash                                                                                                                                    100%
  JD.Efcpt.Build.Core.Logging.NullBuildLog                                                                                                                        100%
  JD.Efcpt.Build.Core.PathUtils                                                                                                                                  91.6%
  JD.Efcpt.Build.Core.Processes.CommandNormalizationStrategy                                                                                                     94.1%
  JD.Efcpt.Build.Core.Processes.ProcessCommand                                                                                                                    100%
  JD.Efcpt.Build.Core.Processes.ProcessResult                                                                                                                     100%
  JD.Efcpt.Build.Core.Processes.ProcessRunner                                                                                                                    84.4%
  JD.Efcpt.Build.Core.Providers.ProviderNames                                                                                                                    96.4%

JD.Efcpt.Build.Firebird                                                                                                                                          98.7%
  JD.Efcpt.Build.Tasks.Schema.Providers.FirebirdProviderAdapter                                                                                                   100%
  JD.Efcpt.Build.Tasks.Schema.Providers.FirebirdSchemaReader                                                                                                     98.6%

JD.Efcpt.Build.MySqlConnector                                                                                                                                     100%
  JD.Efcpt.Build.Tasks.Schema.Providers.MySqlProviderAdapter                                                                                                      100%
  JD.Efcpt.Build.Tasks.Schema.Providers.MySqlSchemaReader                                                                                                         100%

JD.Efcpt.Build.Oracle                                                                                                                                             100%
  JD.Efcpt.Build.Tasks.Schema.Providers.OracleProviderAdapter                                                                                                     100%
  JD.Efcpt.Build.Tasks.Schema.Providers.OracleSchemaReader                                                                                                        100%

JD.Efcpt.Build.PostgreSQL                                                                                                                                         100%
  JD.Efcpt.Build.Tasks.Schema.Providers.PostgreSqlProviderAdapter                                                                                                 100%
  JD.Efcpt.Build.Tasks.Schema.Providers.PostgreSqlSchemaReader                                                                                                    100%

JD.Efcpt.Build.Providers.Abstractions                                                                                                                              98%
  JD.Efcpt.Build.Tasks.Extensions.DataRowExtensions                                                                                                               100%
  JD.Efcpt.Build.Tasks.Extensions.StringExtensions                                                                                                                100%
  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.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.SchemaModel                                                                                                                         100%
  JD.Efcpt.Build.Tasks.Schema.SchemaReaderBase                                                                                                                    100%
  JD.Efcpt.Build.Tasks.Schema.TableModel                                                                                                                         92.8%

JD.Efcpt.Build.Snowflake                                                                                                                                          100%
  JD.Efcpt.Build.Tasks.Schema.Providers.SnowflakeProviderAdapter                                                                                                  100%

JD.Efcpt.Build.Sqlite                                                                                                                                             100%
  JD.Efcpt.Build.Tasks.Schema.Providers.SqliteProviderAdapter                                                                                                     100%
  JD.Efcpt.Build.Tasks.Schema.Providers.SqliteSchemaReader                                                                                                        100%

JD.Efcpt.Build.Tasks                                                                                                                                             87.4%
  JD.Efcpt.Build.Tasks.AddSqlFileWarnings                                                                                                                         100%
  JD.Efcpt.Build.Tasks.ApplyConfigOverrides                                                                                                                       100%
  JD.Efcpt.Build.Tasks.BuildLog                                                                                                                                   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.EfcptConfigOverrideApplicator                                                                                                      93.1%
  JD.Efcpt.Build.Tasks.ConnectionStrings.SatelliteConnectionStringSourceResolver                                                                                 67.2%
  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.EfcptDoctor                                                                                                                                100%
  JD.Efcpt.Build.Tasks.EnsureDacpacBuilt                                                                                                                         96.1%
  JD.Efcpt.Build.Tasks.Extensions.EnumerableExtensions                                                                                                            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.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                                                                                                                       93.4%
  JD.Efcpt.Build.Tasks.RenameGeneratedFiles                                                                                                                       100%
  JD.Efcpt.Build.Tasks.ResolveDbContextName                                                                                                                      96.9%
  JD.Efcpt.Build.Tasks.ResolveSqlProjAndInputs                                                                                                                   92.6%
  JD.Efcpt.Build.Tasks.RunEfcpt                                                                                                                                  96.8%
  JD.Efcpt.Build.Tasks.RunSqlPackage                                                                                                                             50.5%
  JD.Efcpt.Build.Tasks.Schema.CustomProviderException                                                                                                             100%
  JD.Efcpt.Build.Tasks.Schema.DatabaseProviderFactory                                                                                                             100%
  JD.Efcpt.Build.Tasks.Schema.EfcptToolAcquisitionFailedException                                                                                                 100%
  JD.Efcpt.Build.Tasks.Schema.EfcptToolAcquisitionNotConfiguredException                                                                                          100%
  JD.Efcpt.Build.Tasks.Schema.EfcptToolNotAvailableOfflineException                                                                                               100%
  JD.Efcpt.Build.Tasks.Schema.ProviderAdapterResolver                                                                                                              95%
  JD.Efcpt.Build.Tasks.Schema.ProviderDriverNotFoundException                                                                                                     100%
  JD.Efcpt.Build.Tasks.Schema.Providers.SqlServerProviderAdapter                                                                                                  100%
  JD.Efcpt.Build.Tasks.Schema.Providers.SqlServerSchemaReader                                                                                                     100%
  JD.Efcpt.Build.Tasks.Schema.SchemaFingerprinter                                                                                                                 100%
  JD.Efcpt.Build.Tasks.SerializeConfigProperties                                                                                                                  100%
  JD.Efcpt.Build.Tasks.SqlProjectDetector                                                                                                                        94.5%
  JD.Efcpt.Build.Tasks.StageEfcptInputs                                                                                                                          95.7%
  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%

@JerrettDavis
JerrettDavis merged commit 92a1420 into main Jul 11, 2026
16 checks passed
@JerrettDavis
JerrettDavis deleted the feat/191-ci-matrix branch July 11, 2026 22:23
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