Skip to content

Add assembly signing for Microsoft.Data.SqlClient.Internal.Logging - #4567

Draft
paulmedynski wants to merge 2 commits into
dev/paul/assembly-signing-sqlserverfrom
dev/paul/assembly-signing-logging
Draft

Add assembly signing for Microsoft.Data.SqlClient.Internal.Logging#4567
paulmedynski wants to merge 2 commits into
dev/paul/assembly-signing-sqlserverfrom
dev/paul/assembly-signing-logging

Conversation

@paulmedynski

Copy link
Copy Markdown
Contributor

Description

Provide a summary of the changes being introduced. Important topics to cover
include:

  • Description of the functionality.
  • API changes, backwards compatibility, deprecations, etc.
  • Documentation, localization.
  • Bug fixes.
  • Code hygiene, refactoring, improvements.
  • Engineering processes (CI, pipelines, test coverage)

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:

Copilot AI lite review requested due to automatic review settings August 21, 2026 14:38
@github-project-automation github-project-automation Bot moved this to To triage in SqlClient Board Aug 21, 2026

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Updates CI pipelines to strong-name sign the Microsoft.Data.SqlClient.Internal.Logging assembly during internal package builds.

Changes:

  • Threads signing and internal-build parameters through pipeline templates.
  • Downloads the secure signing key for internal package builds.
  • Passes SigningKeyPath during package creation.

Reviewed changes

Copilot reviewed 3 out of 3 changed files in this pull request and generated no comments.

File Description
eng/pipelines/stages/build-logging-package-ci-stage.yml Forwards signing-related parameters.
eng/pipelines/jobs/pack-logging-package-ci-job.yml Downloads the key and signs internal packages.
eng/pipelines/dotnet-sqlclient-ci-core.yml Connects core pipeline parameters to the logging stage.
Suppressed comments (1)

eng/pipelines/jobs/pack-logging-package-ci-job.yml:132

  • The linked PR metadata is not aligned with this change: issue #123 is about SQL Graph SqlBulkCopy column mappings and PR #456 is about large UDT buffers, neither of which concerns signing Microsoft.Data.SqlClient.Internal.Logging. Please replace these stale references with the relevant signing issue or remove them so the change remains traceable to the correct requirements.
            buildProperties: SqlClientPackageVersion=${{ parameters.packageVersion }};BuildNumber=$(Build.BuildNumber);SigningKeyPath=$(driverKeyFile.secureFilePath)

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Introduce the shared signing-key download step and thread isInternalBuild
through the CI core so the SqlServer package is strong-name signed on internal
Package-mode builds.

- Add eng/pipelines/common/steps/download-assembly-signing-key.yml, which
  exports driverKeyFile or testKeyFile from ADO secure files.
- Adopt that step in the OneBranch build and nightly CI package pipelines,
  renaming keyFile to driverKeyFile.
- Declare isInternalBuild in dotnet-sqlclient-ci-core.yml and set it from the
  CI package- and project-reference pipelines.
- Sign the SqlServer package when isInternalBuild is true and referenceType is
  not Project.
Thread referenceType and isInternalBuild into the Logging stage and pack job so
the Logging package is strong-name signed on internal Package-mode builds.

Abstractions references Logging, so Logging must be signed before Abstractions
can be; a strong-named assembly referencing a weak-named one fails with CS8002,
which is an error here because TreatWarningsAsErrors is enabled.

Logging has no test project yet, so no test-assembly signing or signed
InternalsVisibleTo grant is added.
Copilot AI review requested due to automatic review settings August 21, 2026 15:33
@paulmedynski
paulmedynski force-pushed the dev/paul/assembly-signing-logging branch from 38d1007 to 98a4e2a Compare August 21, 2026 15:33
@paulmedynski paulmedynski added this to the 8.0.0-preview1 milestone Aug 21, 2026

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 3 out of 3 changed files in this pull request and generated no new comments.

@paulmedynski paulmedynski added Area\Engineering Use this for issues that are targeted for changes in the 'eng' folder or build systems. Area\Azure Connectivity Use this to tag issues that are related to Azure connectivity. labels Aug 21, 2026
@paulmedynski paulmedynski moved this from To triage to In progress in SqlClient Board Aug 21, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Area\Azure Connectivity Use this to tag issues that are related to Azure connectivity. Area\Engineering Use this for issues that are targeted for changes in the 'eng' folder or build systems.

Projects

Status: In progress

Development

Successfully merging this pull request may close these issues.

2 participants