Repository navigation
AOT 7: Validate authentication scenarios and publishing in both reference modes - #4817
paulmedynski wants to merge 1 commit into
Conversation
There was a problem hiding this comment.
🔵 Needs a closer look
Cross-platform pipeline and NativeAOT changes are substantial, while Windows CLR and remote CI execution remain unverified.
0 open findings
What changed in this PR
Adds a dedicated authentication validation harness covering configuration, package/reference modes, runtime mismatches, and trimmed/NativeAOT publishing.
Changes:
- Expands fresh-process authentication scenarios and package-source validation.
- Adds trim/AOT publishing checks and build orchestration.
- Introduces Linux and Windows CI coverage for Project and Package modes.
No actionable defects were identified by inspection. Existing review threads were not provided.
| File | Description |
|---|---|
RunAuthenticationTests.ps1 |
Orchestrates scenarios, package checks, and publishing. |
AuthenticationTests/README.md |
Documents harness usage and prerequisites. |
PublishTest/PublishTest.csproj |
Configures trim/AOT fixture references. |
PublishTest/Program.cs |
Validates trimmed authentication registration. |
ConfigurationTest/Program.cs |
Expands configuration and failure scenarios. |
ConfigurationTest/ConfigurationTest.csproj |
Adds Azure references. |
bad-unsupported.config |
Adds unsupported-provider scenario. |
bad-provider.config |
Adds missing-provider scenario. |
bad-initializer.config |
Adds missing-initializer scenario. |
Microsoft.Data.SqlClient.slnx |
Includes the publishing fixture. |
Pipeline-Arguments.Tests.ps1 |
Checks the authentication CI matrix. |
Build-Orchestration.Tests.ps1 |
Verifies harness orchestration and references. |
authentication-validation-stage.yml |
Adds cross-platform authentication jobs. |
dotnet-sqlclient-ci-core.yml |
Integrates the new CI stage. |
BUILDGUIDE.md |
Documents targets and publishing commands. |
build.proj |
Adds complete and build-only authentication targets. |
testing.instructions.md |
Records authentication fixture conventions. |
🧠 Review effort: Balanced
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
|
|
||
| <!-- BuildTests: Builds the driver test projects for their declared target frameworks. --> | ||
| <Target Name="BuildTests" DependsOnTargets="BuildAbstractionsTests;BuildAkvProviderTests;BuildSqlClientTestsUnit;BuildSqlClientTestsFunctional;BuildSqlClientTestsManual;BuildSqlClientTestsPerformance;BuildSqlClientTestsStress;BuildAzureTests" /> | ||
| <Target Name="BuildTests" DependsOnTargets="BuildAbstractionsTests;BuildAkvProviderTests;BuildSqlClientTestsUnit;BuildSqlClientTestsFunctional;BuildSqlClientTestsManual;BuildSqlClientTestsPerformance;BuildSqlClientTestsStress;BuildAzureTests;BuildAuthenticationTests" /> |
7c3e459 to
02d0134
Compare
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
| '-p:BuildNumber=123.4', '-p:BuildSuffix=probe', '-p:AuthenticationPublish=true' | ||
| ) | ||
| $script = $arguments[([array]::IndexOf($arguments, '-File') + 1)] | ||
| [System.IO.Path]::GetFullPath($script) | Should -Be "$repoRoot/src/Microsoft.Data.SqlClient/tests/AuthenticationTests/RunAuthenticationTests.ps1" |
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## dev/paul/aot/phase-1.5 #4817 +/- ##
=========================================================
Coverage ? 65.52%
=========================================================
Files ? 285
Lines ? 68307
Branches ? 0
=========================================================
Hits ? 44761
Misses ? 23546
Partials ? 0
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
Keep the process-isolated configuration harness, runner, and build wiring in the authentication scenarios PR. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Preserve the final scenario harness, publishing checks, CI wiring and orchestration tests from the original #4817 layer while dropping obsolete intermediate fixture deferrals during restacking. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
d6bc218 to
e329317
Compare
Keep the process-isolated configuration harness, runner, and build wiring in the authentication scenarios PR. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
The replacement-driver fixture is used only by the deferred ConfigurationTest executable; keep runtime-family unit tests in this PR. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Move configuration and dependent runtime-version executable fixtures, their runner, solution entries, and build targets to the scenario-validation PR. Retain registry and runtime-version unit coverage. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Preserve the final scenario harness, publishing checks, CI wiring and orchestration tests from the original #4817 layer while dropping obsolete intermediate fixture deferrals during restacking. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
e329317 to
cf582e2
Compare
Preserve the final scenario harness, publishing checks, CI wiring and orchestration tests from the original #4817 layer while dropping obsolete intermediate fixture deferrals during restacking. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
cf582e2 to
b8c7e0c
Compare

Description
Integrate authentication compatibility scenarios and trimmed/NativeAOT publishing checks into build orchestration and Linux/Windows CI.
Why?
Authentication behavior must remain consistent across project and package references, supported runtimes, and publishing modes. Executable, isolated consumers verify configuration activation, provider precedence, failure handling, and the published application rather than compilation alone.
How