Skip to content

Conversation

@benrr101
Copy link
Contributor

@benrr101 benrr101 commented Feb 10, 2025

Description: The current dotnet-sqlclient-official pipeline currently builds MDS and then builds the AKV provider (AKV). For the release process, this is not ideal, since building a production AKV depends on the MDS package being published to nuget. Furthermore, AKV has a different release cadence than MDS, which means version can be out of sync between AKV and MDS. Thus, the current release process is to: set variables for MDS version, run the dotnet-sqlclient-official pipeline w/o the AKV stage, publish the resulting MDS package, reset variables for AKV version, run the dotnet-sqlclient-official pipeline w/o the MDS stage, then publish the resulting AKV package. This is clumsy to say the least.

This PR seeks to resolve the issue by introducing a separate pipeline for building AKV for release. It is based on existing dotnet-sqlclient-official pipeline, but effectively rewrites all of it. The major reason for rewriting it is to decouple tasks from variables, instead relying on parameters being passed into the step templates.

Another big change with this that the versioning is defined in the yaml instead of in the variables group. This allows the versions to be kept in source control, allowing us to build different versions on eg, release branches, without touching globally defined variables. However, this isn't the perfect solution - versioning for the pipeline is separate from versioning for IDE/CLI builds of the project. Ideally we will have a central location for version to build, but this requires more heavyweight changes to the build.proj.

This new pipeline and the associated job, variables, tasks, etc, are added to the codebase without causing breaking changes to the existing pipelines. This does clutter things up a bit, but ideally it's temporary.

Next step after this PR will be to rewrite the official MDS, following the same pattern as in this new AKV pipeline.

Testing:
https://dev.azure.com/SqlClientDrivers/ADO.Net/_build/results?buildId=108404&view=results - Confirmed, build passed, nuget package generated with expected contents!
https://dev.azure.com/SqlClientDrivers/ADO.Net/_build/results?buildId=108995&view=logs&j=842ba44b-d8c2-5068-fa3f-2f994e531989 - Fixes issue where nuget.org was being accessed for vulnerability data despite being blocked. Fixed by making audit conditional to local builds only.
https://dev.azure.com/SqlClientDrivers/ADO.Net/_build/results?buildId=109771&view=results Fixed all open comments as of 2/25/2025

@benrr101
Copy link
Contributor Author

/azp run

@azure-pipelines
Copy link

Azure Pipelines successfully started running 2 pipeline(s).

@benrr101
Copy link
Contributor Author

/azp run

@azure-pipelines
Copy link

Azure Pipelines successfully started running 2 pipeline(s).

@codecov
Copy link

codecov bot commented Feb 20, 2025

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 72.86%. Comparing base (17cb0b0) to head (70dddc6).
Report is 13 commits behind head on main.

Additional details and impacted files
@@            Coverage Diff             @@
##             main    #3150      +/-   ##
==========================================
- Coverage   72.96%   72.86%   -0.11%     
==========================================
  Files         283      282       -1     
  Lines       58997    59112     +115     
==========================================
+ Hits        43048    43070      +22     
- Misses      15949    16042      +93     
Flag Coverage Δ
addons 92.58% <ø> (ø)
netcore 75.53% <ø> (-0.20%) ⬇️
netfx 71.17% <ø> (-0.19%) ⬇️

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.

@paulmedynski paulmedynski self-requested a review February 24, 2025 18:28
Copy link
Contributor

@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.

See comment regarding quoting of string values.

Copy link
Contributor

@mdaigle mdaigle left a comment

Choose a reason for hiding this comment

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

Overall looks good

@benrr101 benrr101 merged commit 4410dbf into main Feb 27, 2025
252 checks passed
@benrr101 benrr101 deleted the dev/russellben/akv-pipeline branch February 27, 2025 18:38
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

None yet

Development

Successfully merging this pull request may close these issues.

5 participants