-
Notifications
You must be signed in to change notification settings - Fork 317
AKV Official Pipeline #3150
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
AKV Official Pipeline #3150
Conversation
… instead of variables.
|
/azp run |
|
Azure Pipelines successfully started running 2 pipeline(s). |
|
/azp run |
|
Azure Pipelines successfully started running 2 pipeline(s). |
Codecov ReportAll modified and coverable lines are covered by tests ✅
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
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Sentry. |
paulmedynski
left a comment
There was a problem hiding this 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.
mdaigle
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Overall looks good
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