Skip to content

Conversation

paulmedynski
Copy link
Contributor

@paulmedynski paulmedynski commented Aug 14, 2025

Overview

As part of the Azure split work, a new Abstractions package is being created that contains types shared between MDS and its future extensions (Azure will be the first). This PR creates that package (with no meaningful content) to setup the MDS dependency, and get testing and CI setup accordingly.

I'm also experimenting with simplified .slnx files and some project directory structure changes.

This supercedes the original draft PR #3471.

Issues

The first step towards #1108.

Testing

  • Unit tests for the sample class to prove that CI can run them successfully.
  • There are no MDS tests to prove out the new dependency yet. Those will naturally happen when the first real bit of Azure functionality is moved out into the new Azure extension package.

@paulmedynski paulmedynski added this to the 7.0-preview1 milestone Aug 14, 2025
@paulmedynski paulmedynski force-pushed the dev/paul/azure-split/abstractions branch from e912975 to 261f4af Compare August 14, 2025 17:25
Copy link
Contributor Author

@paulmedynski paulmedynski left a comment

Choose a reason for hiding this comment

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

Adding comentary for reviewers.

I will be renaming the Extensions package to Abstractions. That round of changes is next.

AzureKeyVaultUrl: $(AzureKeyVaultUrl)
AzureKeyVaultTenantId: $(AzureKeyVaultTenantId)
SupportsIntegratedSecurity: false
UserManagedIdentityClientId: $(UserManagedIdentityClientId_eastus)
LocalDbAppName: $(LocalDbAppName)
LocalDbSharedInstanceName: $(LocalDbSharedInstanceName)

${{ if eq(variables['system.pullRequest.isFork'], 'False') }}: # only run enclave jobs if the password is available
Copy link
Contributor Author

Choose a reason for hiding this comment

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

My YAML linter was complaining about duplicate keys because these ${{if ...} lines are the same. Similar changes below for the enclave test configurations.


eng/pipelines/common/templates/jobs/validate-signed-package-job.yml
-->
<AssemblyFileVersion Condition="'$(AssemblyFileVersion)' == ''">$(MdsVersionDefault).$(BuildNumber)</AssemblyFileVersion>
Copy link
Contributor Author

Choose a reason for hiding this comment

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

Minor tweak here - I added $(BuildNumber) - not sure if that's helpful, but it matches how the Extensions package does things.

It used to append -dev instead of the build number. I think this will only affect manual builds.

Copy link
Contributor Author

@paulmedynski paulmedynski left a comment

Choose a reason for hiding this comment

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

Commentary for reviewers, and issues for myself to fix.

- Attestation: _**New API will be exposed.**_
- Key Valut: [SqlColumnEncryptionKeyStoreProvider](https://learn.microsoft.com/en-us/dotnet/api/microsoft.data.sqlclient.sqlcolumnencryptionkeystoreprovider?view=sqlclient-dotnet-core-6.0)

## Versioning Strategy
Copy link
Contributor Author

Choose a reason for hiding this comment

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

I believe this aligns with our general extension strategy. Let's discuss if anyone has concerns.

We embed debug symbols in some of our application (i.e. non-symbol) NuGet
packages.

TODO: Why are we doing this?
Copy link
Contributor Author

Choose a reason for hiding this comment

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

Thoughts? Why do we want symbols in our application packages, when we're publishing separate symbols packages anyway?

Copy link

codecov bot commented Aug 15, 2025

Codecov Report

✅ All modified and coverable lines are covered by tests.
⚠️ Please upload report for BASE (feat/azure-split@c0b0da5). Learn more about missing BASE report.

Additional details and impacted files
@@                 Coverage Diff                 @@
##             feat/azure-split    #3567   +/-   ##
===================================================
  Coverage                    ?   64.96%           
===================================================
  Files                       ?      274           
  Lines                       ?    62478           
  Branches                    ?        0           
===================================================
  Hits                        ?    40590           
  Misses                      ?    21888           
  Partials                    ?        0           
Flag Coverage Δ
addons 90.82% <ø> (?)
netcore 69.11% <ø> (?)
netfx 66.73% <ø> (?)

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Sentry.
📢 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.

@paulmedynski paulmedynski marked this pull request as ready for review August 15, 2025 16:56
@paulmedynski paulmedynski requested a review from a team as a code owner August 15, 2025 16:56
@paulmedynski paulmedynski changed the title [WIP] Create Abstractions package Create Abstractions package Aug 15, 2025
@apoorvdeshmukh apoorvdeshmukh self-assigned this Aug 27, 2025
- Added empty Extensions package with some sample class and docs to demonstrate packaging.
- Created CI stage to build, test, pack, and publish the Extensions NuGet package.
- Updated downstream CI stages/jobs to use the Extensions package.
- Updated build.proj Clean target to not delete packages/ dir.
- Updated BUILDGUIDE with instructions for the Extensions package.
- Cleaned up stale BUIDGUIDE sections.
- Added temporary GitHub Discussion content so the team can review before posting it as a real Discussion.
- Disable .pdb file inclusion in the application package.
- Renamed Extensions package to Abstractions.
- Updated README related to extensions design.
@paulmedynski paulmedynski force-pushed the dev/paul/azure-split/abstractions branch from c2a8e97 to d4464ec Compare August 29, 2025 12:06
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants