Add assembly signing for Microsoft.Data.SqlClient.Extensions.Azure - #4570
Draft
paulmedynski wants to merge 1 commit into
Draft
Add assembly signing for Microsoft.Data.SqlClient.Extensions.Azure#4570paulmedynski wants to merge 1 commit into
paulmedynski wants to merge 1 commit into
Conversation
Contributor
There was a problem hiding this comment.
Pull request overview
Enables strong-name signing for the Microsoft.Data.SqlClient.Extensions.Azure assembly in internal CI package-mode builds, including signing the corresponding test assembly to keep InternalsVisibleTo (IVT) working when the product assembly is signed.
Changes:
- Adds conditional test-assembly signing in
Azure.Test.csprojwhenTestSigningKeyPathis provided. - Updates
Azure.csprojIVT to include the test public key only for signed + Package reference builds. - Threads an
isInternalBuildflag through the Azure CI stage/jobs and passes signing key properties todotnet build/pack; also updatesbuild.projto pass signing properties to the Azure test invocation.
Reviewed changes
Copilot reviewed 7 out of 7 changed files in this pull request and generated no comments.
Show a summary per file
| File | Description |
|---|---|
| src/Microsoft.Data.SqlClient.Extensions/Azure/test/Azure.Test.csproj | Conditionally strong-name signs the test assembly when a test key path is supplied. |
| src/Microsoft.Data.SqlClient.Extensions/Azure/src/Azure.csproj | Adjusts IVT to support signed package-mode builds (public-key IVT only when signing is enabled). |
| eng/pipelines/stages/build-azure-package-ci-stage.yml | Adds and propagates isInternalBuild into Azure build/test/pack job templates. |
| eng/pipelines/jobs/test-azure-package-ci-job.yml | Downloads signing keys and passes SigningKeyPath/TestSigningKeyPath for internal package-mode builds; avoids {command}Arguments env-var injection by renaming the variable. |
| eng/pipelines/jobs/pack-azure-package-ci-job.yml | Adds signing key download and passes SigningKeyPath into dotnet pack for internal package-mode builds. |
| eng/pipelines/dotnet-sqlclient-ci-core.yml | Threads isInternalBuild into the Azure package stage invocation. |
| build.proj | Includes signing-related MSBuild properties when running the Azure test project via build orchestration. |
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
Sign the Azure package and its test assembly on internal Package-mode builds. Azure references Abstractions and Logging, both of which are signed earlier in this stack, so the reference closure is complete. - Thread isInternalBuild from the CI core into the Azure stage, pack job and test jobs, downloading the driver and test signing keys as needed. - Add a signed InternalsVisibleTo grant for the Azure test assembly, which needs internal access for the WAM broker tests, and sign that assembly when a test key is supplied. - Thread signing arguments into the build.proj TestAzure target. - Rename the test job's buildArguments variable to dotnetBuildOpts; Azure Pipelines exposes variables as environment variables and the dotnet CLI injects BUILDARGUMENTS into dotnet build.
paulmedynski
force-pushed
the
dev/paul/assembly-signing-azure
branch
from
August 21, 2026 15:33
5daa1af to
9c13cb9
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
Provide a summary of the changes being introduced. Important topics to cover
include:
High quality descriptions will lead to a smoother review experience.
Issues
Link to any relevant issues, bugs, or discussions (e.g.,
Closes #123,Fixes issue #456).Testing
Describe the automated tests (unit, integration) you created or modified.
Provide justification for any gap in automated testing. List any manual testing
steps that were performed to ensure the changes work.
Guidelines
Please review the contribution guidelines before submitting a pull request: