Skip to content

Scope DLL Signing in MDS OneBranch Job#4039

Merged
samsharma2700 merged 1 commit intomainfrom
dev/samsharma2700/dll_signing_fix
Mar 13, 2026
Merged

Scope DLL Signing in MDS OneBranch Job#4039
samsharma2700 merged 1 commit intomainfrom
dev/samsharma2700/dll_signing_fix

Conversation

@samsharma2700
Copy link
Copy Markdown
Contributor

Description

The MDS (Microsoft.Data.SqlClient) code signing job in the OneBranch pipeline was inadvertently signing DLLs from the
Extensions.Abstractions and Extensions.Logging packages. This happened because:

  • esrp-code-signing-step.yml hardcoded the pattern Microsoft.Data.SqlClient*.dll, which matches Extensions DLLs (e.g.,
    Microsoft.Data.SqlClient.Extensions.Logging.dll)
  • sourceRoot defaulted to $(REPO_ROOT), scanning the entire repo tree instead of just MDS build output
  • The MDS build target (BuildAllConfigurations) depends on BuildLogging and BuildAbstractions, so those DLLs exist in the artifact tree at signing time

Issues

Fixes #4023

Fix

  • esrp-code-signing-step.yml : Added a dllPattern parameter (default: Microsoft.Data.SqlClient*.dll for backward compatibility) and replaced both hardcoded Pattern values with ${{ parameters.dllPattern }}.

  • build-signed-sqlclient-package-job.yml :

    • Split the single DLL signing call into two targeted calls with exact patterns: Microsoft.Data.SqlClient.dll and
      Microsoft.Data.SqlClient.resources.dll
    • Scoped sourceRoot to $(BUILD_OUTPUT) to avoid scanning the entire repo
    • Narrowed APIScan copy patterns to exclude Extensions DLLs/PDBs

@samsharma2700 samsharma2700 requested a review from a team as a code owner March 12, 2026 18:23
Copilot AI review requested due to automatic review settings March 12, 2026 18:23
@github-project-automation github-project-automation Bot moved this to To triage in SqlClient Board Mar 12, 2026
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

Updates OneBranch ESRP DLL signing to be parameter-driven and tightens which SqlClient binaries are signed/copied for APIScan, aligning the SqlClient job behavior with the more explicit patterns used elsewhere in the OneBranch packaging jobs.

Changes:

  • Added a dllPattern parameter to the ESRP code-signing step template and wired it into the ESRP malware scan + code signing tasks.
  • Updated the SqlClient OneBranch job to sign Microsoft.Data.SqlClient.dll and Microsoft.Data.SqlClient.resources.dll explicitly (and to scope signing to $(BUILD_OUTPUT)).
  • Narrowed APIScan file copy globs to only copy Microsoft.Data.SqlClient.dll / .pdb (instead of Microsoft.Data.SqlClient*.dll / .pdb).

Reviewed changes

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

File Description
eng/pipelines/onebranch/steps/esrp-code-signing-step.yml Adds dllPattern parameter and uses it for ESRP scanning/signing when artifactType: dll.
eng/pipelines/onebranch/jobs/build-signed-sqlclient-package-job.yml Uses explicit DLL patterns for signing and narrows APIScan copy globs to the primary SqlClient assembly + PDB.

@paulmedynski paulmedynski self-assigned this Mar 12, 2026
@paulmedynski
Copy link
Copy Markdown
Contributor

Run the sqlclient-non-official pipeline on these changes and paste a link.

@paulmedynski paulmedynski added this to the 7.0.0 milestone Mar 13, 2026
@paulmedynski paulmedynski moved this from To triage to In review in SqlClient Board Mar 13, 2026
@paulmedynski paulmedynski added the Area\Engineering Use this for issues that are targeted for changes in the 'eng' folder or build systems. label Mar 13, 2026
@samsharma2700
Copy link
Copy Markdown
Contributor Author

@samsharma2700 samsharma2700 merged commit 0565d61 into main Mar 13, 2026
9 checks passed
@samsharma2700 samsharma2700 deleted the dev/samsharma2700/dll_signing_fix branch March 13, 2026 18:37
@github-project-automation github-project-automation Bot moved this from In review to Done in SqlClient Board Mar 13, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Area\Engineering Use this for issues that are targeted for changes in the 'eng' folder or build systems.

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

Additional dlls getting signed in the codesigning (mds) job (for abstractions and logging).

4 participants