Sync release/7.0 with main — cherry-pick batch#4215
Sync release/7.0 with main — cherry-pick batch#4215paulmedynski wants to merge 24 commits intorelease/7.0from
Conversation
* In progress work for pack target ... kinda working * Add config to genapi path. Remove unnecessary dependencies from genapi project * Fix generation of docs in ref project * Dump reference type specific builds Fix xml documentation file generation for implementation project * Generating a package file works!!! * Resync pipelines folder in solution * Add an assembly build number argument? ... it doesn't work * Wiring up build numbers through build2.proj * Build number argument * Maybe wiring it up?!? * Reinstate the assemblybuildnumber property * Build all of MDS, once * PR comments from copilot * Specify test results folder for CI builds * TargetFramework => TestFramework * Fixing a couple more comments * Couple more comments from copilot * downgrade back to 7.0.0 :) * I dunno, fixing some stuff, I guess. * Fix indenting * Back out changes to official pipelines * A couple more comments from CoPilot * Generate AKV documentation file during CI build ... idk why this is only a problem *now* * Comments from Copilot ... I'd love it if it could give the same comments across commits.
* Disable ESRP steps on non-official pipelines * Update copilot instructions * Skip Signature verification for non-official builds * Address comments * Apply suggestions from code review Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * touch-ups --------- Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* Test | Fix Transient Fault handling flaky tests * Attempt to fix * Fix the MultiPartIdentifier tests getting skipped * Fix serialization issue of SqlTypeWorkaroundsTests * Fix one more cases of possible error scenarios
* Task 40503: Create stress test pipeline - Added initial placeholder pipeline entry point file. - Wired up the new top-level stress test pipeline to the existing stages/jobs. - Using human friendly triggering pipeline names. - Removed PR pipeline as upstream trigger. - When triggered manually, we must choose one of the upstream pipelines to use for artifact download. - Temporarily added PR-SqlClient-Package to help with PR-based testing. - Sorted template parameters alphabetically. - Added debugging for artifact details. * Changed the pipeline to expect project-references to SqlClient projects. * Moved stress test pipeline files into a stress/ directory. * Fixed expansion errors. * Addressed Copilot feedback. * Addressed my own comments.
* Drop compound-* from onebranch step files for my own sanity * Consolidate compound-publish-symbols and publish-symbols-step into publish-symbols-step. * Rename code-analyze-step to roslyn-analyzers-csproj-step (for later changes) * Add mds-specific job/steps * Swap in build-signed-mds-package-job.yml for build-signed-sqlclient-package-job.yml * Remove dead job/steps * Fix folder path for DLL signing steps. * Addressing comments, round 1 * Addressing comments, round 2 Not sure how the PackBuild target got lost, but I brought it back * Add the new parameters to the csproj build job * Use variables artifact names in release stage * Two more quick fixes as per comments * ESRP searches recursively? * Fine, I give up, I will put the package output in PACK_OUTPUT. * Reinstate job-level apiscan parameter assignment * Wire isOfficial to MDS build job after rebase * Rework versioning logic and move package version calculation (outside of pipelines) entirely to MdsVersions.props * Add build number to PackMds target call in official pipeline * Remove assembly "file" versions as it is not necessary. * CI pipelines to automatic versioning system. * Rework the package version for CI to match the package version for OneBranch. This band-aid avoids completely messing with the CI properties. * Assembly version = major.0.0.0 File version = major.minor.patch.build Package version = major.minor.patch[-suffixbuildnumber] * Comment that Malcolm is holding the build up for. * Can I please be done with this PR now?
* Cleanup step parameters * Parameter work for build-signed-csproj-package-job.yml: * Drop buildConfiguration parameter * Introduce symbols parameters * Signing parameters with prefix * Forward parameter defaults from build-signed-csproj-package-job to build-stages.yml * Forward default values for symbols/signing parameters in build-stages.yml to parameters. * Delete debug param from build-stages.yml Forward default values to parameters on sqlclient-non-official.yml and sqlclient-official.yml * Don't nest variables files. * Do not import variables templates outside of the pipeline root * OneBranch variable libraries moved to onebranch-variables.yml Replace old libraries with new libraries Replace old library references with new library references * Project for manintaining the pipelines folder * Parameterize package versions from the pipeline to the stages * Store "effective" package versions in new, parameterized variables file * Parameterize the artifact names * Parameterize the assembly versions * Parameterize the mds validation job * Sweep remaining $() references that are not to well-known variables. * Remove unused variables and cleanup remaining variables * Cleanup SDL parameters * AKVProvider -> AkvProvider * MDS -> SqlClient
* Replace CollatedDataReaderTest This previously only tested Kazakh_90_CI_AI and Georgian_Modern_Sort_CI_AS. The replacement tests every collation. It also performs a more comprehensive check that the string/byte[] roundtrips with the varbinary/varchar from the database instance. Finally, it no longer requires permission to drop and create databases: we can just use the COLLATE statement. * Add collated output parameter test
* PR comments and uh what * Rely on AssemblyBuildNumber for non-MDS projects, too.
* Delete separate projects ... this was less satisfying than I expected it'd be * Test output should go to the same folder as the project ... no need to give it a special place. * Drop targets that aren't necessary from build.proj * Remove extraneous properties from build.proj * Remove unused targets * Test project references from RepoRoot * Remove unnecessary stuff from Directory.Build.props * Drop some more unnecessary files * Remove references to BuildAllConfigurations * 🤖 Remove separate project stuff from CompareMdsRefAssemblies.targets
* Create DatabaseObject base class for fixture This contains GenerateLongName and GenerateShortName, which are lifted from DataTestUtility.GetLongName and GetShortName in ManualTests. * Create derived types, use these in a few locations This eliminates DropUserDefinedType from DataTestUtility. * Further removal of ad-hoc utility methods in ParametersTest * Further removal of ad-hoc CREATE/DROP scripts in ParametersTest * Use Table type in SqlGraphTables.cs * Use Table and StoredProcedure types in JsonTest.cs * Use Table type in JsonStreamTest.cs * Remove duplicate helper function from ApiShould.cs
This enables builds via Visual Studio
There was a problem hiding this comment.
Pull request overview
This PR syncs release/7.0 with main via a cherry-pick batch, bringing in build/pipeline modernization (including build2.proj wiring), solution format migration to .slnx, new stress-test pipeline infrastructure, and multiple test reliability fixes.
Changes:
- Consolidates/modernizes build & versioning (new
MdsVersions.props, updated output paths, removes legacy targets/props). - Improves test stability and cleanup (TDS simulated server counters, reduced flakiness, RAII DB objects, additional collation/codepage coverage).
- Updates CI/CD automation (new stress pipeline templates, OneBranch pipeline cleanup, GitHub Actions hotfix cherry-pick workflow, prompt tooling updates).
Reviewed changes
Copilot reviewed 143 out of 145 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
| tools/targets/TrimDocsForIntelliSense.targets | Removed legacy MSBuild target (now in ref csproj). |
| tools/targets/ResolveContract.targets | Removed legacy contract-resolution target. |
| tools/targets/NotSupported.targets | Removed legacy not-supported generation target (replaced by notsupported project logic). |
| tools/targets/GenerateThisAssemblyCs.targets | Ensures AssemblyFileVersion defaults correctly. |
| tools/targets/GenerateMdsPackage.targets | Removed legacy nuspec pack target (build2-based flow). |
| tools/props/Versions.props | Moves build-number usage to AssemblyBuildNumber; removes MDS versioning block in favor of MdsVersions.props. |
| tools/props/Tools.props | Removed redundant tooling props. |
| tools/intellisense/TrimDocs.ps1 | Hard-fails on missing XML via exception for better build signaling. |
| tools/GenAPI/Directory.Build.props | Removed GenAPI-local props import (centralized build plumbing). |
| src/Microsoft.Data.SqlClient/tests/tools/TDS/TDS/TDS.csproj | Simplifies project properties for slnx migration. |
| src/Microsoft.Data.SqlClient/tests/tools/TDS/TDS.Servers/TransientTdsErrorTdsServer.cs | Adds Login7 counting for deterministic retry assertions. |
| src/Microsoft.Data.SqlClient/tests/tools/TDS/TDS.Servers/TDS.Servers.csproj | Fixes project references and simplifies TFM declaration. |
| src/Microsoft.Data.SqlClient/tests/tools/TDS/TDS.Servers/GenericTdsServer.cs | Adds Login7Count/abandoned prelogin tracking; minor object initializer cleanup. |
| src/Microsoft.Data.SqlClient/tests/tools/TDS/TDS.EndPoint/TDS.EndPoint.csproj | Adjusts references/TFM and simplifies paths. |
| src/Microsoft.Data.SqlClient/tests/tools/Microsoft.Data.SqlClient.TestUtilities/Microsoft.Data.SqlClient.TestUtilities.csproj | Simplifies TFM declaration and removes custom output paths. |
| src/Microsoft.Data.SqlClient/tests/tools/Microsoft.Data.SqlClient.ExtUtilities/Microsoft.Data.SqlClient.ExtUtilities.csproj | Simplifies TFM declaration. |
| src/Microsoft.Data.SqlClient/tests/UnitTests/SimulatedServerTests/ConnectionRoutingTestsAzure.cs | Removes flaky quarantine and stabilizes assertions using abandoned-prelogin logic. |
| src/Microsoft.Data.SqlClient/tests/UnitTests/SimulatedServerTests/ConnectionRoutingTests.cs | Removes flaky quarantine and stabilizes assertions using abandoned-prelogin logic. |
| src/Microsoft.Data.SqlClient/tests/UnitTests/SimulatedServerTests/ConnectionFailoverTests.cs | Removes flaky quarantine; disables pooling in targeted scenarios; stabilizes counts and pool behavior. |
| src/Microsoft.Data.SqlClient/tests/UnitTests/Microsoft/Data/SqlTypes/SqlTypeWorkaroundsTests.cs | Disables discovery enumeration for theory data to improve stability/discovery behavior. |
| src/Microsoft.Data.SqlClient/tests/UnitTests/Microsoft/Data/Common/MultipartIdentifierTests.cs | Deduplicates generated theory data to prevent xUnit duplicate-ID skips. |
| src/Microsoft.Data.SqlClient/tests/UnitTests/Microsoft.Data.SqlClient.UnitTests.csproj | Converts project references to use $(RepoRoot) paths. |
| src/Microsoft.Data.SqlClient/tests/UnitTests/ConnectionPool/TransactedConnectionPoolTest.cs | Updates mock interface implementation for nullable TCS and new pool property. |
| src/Microsoft.Data.SqlClient/tests/StressTests/StressTests.slnx | Removed stress solution in slnx form (stress pipeline now elsewhere). |
| src/Microsoft.Data.SqlClient/tests/StressTests/SqlClient.Stress.Tests/SqlClientTestGroup.cs | Adds System.Transactions usage for stress scenarios. |
| src/Microsoft.Data.SqlClient/tests/PerformanceTests/Microsoft.Data.SqlClient.PerformanceTests.csproj | Refactors references for project/package mode and cleans item groups. |
| src/Microsoft.Data.SqlClient/tests/ManualTests/SQL/UdtTest/UDTs/Utf8String/Utf8String.csproj | Removes legacy per-target output plumbing. |
| src/Microsoft.Data.SqlClient/tests/ManualTests/SQL/UdtTest/UDTs/Shapes/Shapes.csproj | Removes legacy per-target output plumbing. |
| src/Microsoft.Data.SqlClient/tests/ManualTests/SQL/UdtTest/UDTs/Circle/Circle.csproj | Removes legacy per-target output plumbing. |
| src/Microsoft.Data.SqlClient/tests/ManualTests/SQL/UdtTest/UDTs/Address/Address.csproj | Removes legacy per-target output plumbing. |
| src/Microsoft.Data.SqlClient/tests/ManualTests/SQL/SqlBulkCopyTest/SqlGraphTables.cs | Switches table lifecycle to RAII fixture types. |
| src/Microsoft.Data.SqlClient/tests/ManualTests/SQL/ParameterTest/OutputParameterTests.cs | Adds output-parameter collation/codepage roundtrip coverage. |
| src/Microsoft.Data.SqlClient/tests/ManualTests/SQL/JsonTest/JsonStreamTest.cs | Ensures file cleanup via try/finally; uses RAII table fixture. |
| src/Microsoft.Data.SqlClient/tests/ManualTests/SQL/DataReaderTest/DataReaderTest.cs | Reworks collation test to cover all collations without creating/dropping DBs. |
| src/Microsoft.Data.SqlClient/tests/ManualTests/Microsoft.Data.SqlClient.ManualTests.csproj | Adjusts references; removes RemoteExecutor dependency; makes ProjectReference private. |
| src/Microsoft.Data.SqlClient/tests/ManualTests/AlwaysEncrypted/ApiShould.cs | Uses RAII table fixture; refactors table-definition generation and query building. |
| src/Microsoft.Data.SqlClient/tests/FunctionalTests/Microsoft.Data.SqlClient.FunctionalTests.csproj | Converts references to $(RepoRoot) paths. |
| src/Microsoft.Data.SqlClient/tests/Directory.Packages.props | Removes RemoteExecutor package version pin. |
| src/Microsoft.Data.SqlClient/tests/Common/Fixtures/DatabaseObjects/UserDefinedType.cs | Adds RAII UDT fixture. |
| src/Microsoft.Data.SqlClient/tests/Common/Fixtures/DatabaseObjects/Table.cs | Adds RAII table fixture with helper operations. |
| src/Microsoft.Data.SqlClient/tests/Common/Fixtures/DatabaseObjects/StoredProcedure.cs | Adds RAII stored-procedure fixture. |
| src/Microsoft.Data.SqlClient/src/Microsoft/Data/SqlTypes/SqlVector.cs | Whitespace cleanup. |
| src/Microsoft.Data.SqlClient/src/Microsoft/Data/SqlTypes/SqlJson.cs | Formatting cleanup. |
| src/Microsoft.Data.SqlClient/src/Microsoft/Data/SqlClient/SqlDataReader.cs | Whitespace/comment formatting cleanup. |
| src/Microsoft.Data.SqlClient/src/Microsoft/Data/SqlClient/SqlConnection.cs | Adjusts ContinueWith to be synchronous and not cancelled with the original operation. |
| src/Microsoft.Data.SqlClient/src/Microsoft/Data/SqlClient/ManagedSni/SsrpClient.netcore.cs | Fixes typo in event log message (“instnace” → “instance”). |
| src/Microsoft.Data.SqlClient/src/Microsoft/Data/SqlClient/ConnectionPool/WaitHandleDbConnectionPool.cs | Exposes pool sizing and transacted pool; clarifies enlistment comment. |
| src/Microsoft.Data.SqlClient/src/Microsoft/Data/SqlClient/ConnectionPool/TransactedConnectionPool.cs | Refactors transacted connection tracking; exposes list type internally; renames dictionary. |
| src/Microsoft.Data.SqlClient/src/Microsoft/Data/SqlClient/ConnectionPool/IDbConnectionPool.cs | Adds TransactedConnectionPool property and nullable TCS in signature. |
| src/Microsoft.Data.SqlClient/src/Microsoft/Data/SqlClient/ConnectionPool/DbConnectionPoolOptions.cs | Adds documentation for CreationTimeout. |
| src/Microsoft.Data.SqlClient/src/Microsoft/Data/SqlClient/ConnectionPool/ChannelDbConnectionPool.cs | Instantiates/exposes transacted pool. |
| src/Microsoft.Data.SqlClient/src/Microsoft.Data.SqlClient.csproj | Adds MDS versioning import; adjusts output path and conditional SqlServer.Server reference mode. |
| src/Microsoft.Data.SqlClient/ref/Microsoft.Data.SqlClient.csproj | Adds versioning import and trims docs post-build with new target; adjusts output path. |
| src/Microsoft.Data.SqlClient/ref/Microsoft.Data.SqlClient.cs | Fixes XML include paths and formatting in ref surface. |
| src/Microsoft.Data.SqlClient/notsupported/Microsoft.Data.SqlClient.csproj | Adds versioning import and adjusts ref artifact output path for ReferenceType. |
| src/Microsoft.Data.SqlClient/netfx/tools/targets/GenerateAssemblyRef.targets | Deleted legacy netfx tooling target. |
| src/Microsoft.Data.SqlClient/netfx/tools/targets/GenerateAssemblyInfo.targets | Deleted legacy netfx tooling target. |
| src/Microsoft.Data.SqlClient/netfx/ref/Microsoft.Data.SqlClient.csproj | Deleted legacy netfx ref project. |
| src/Microsoft.Data.SqlClient/netcore/ref/Microsoft.Data.SqlClient.csproj | Deleted legacy netcore ref project. |
| src/Microsoft.Data.SqlClient/add-ons/AzureKeyVaultProvider/AkvProviderVersions.props | Uses AssemblyBuildNumber for defaults; documentation updated. |
| src/Microsoft.Data.SqlClient/MdsVersions.props | Introduces centralized MDS versioning logic for package/file/assembly versions. |
| src/Microsoft.Data.SqlClient.Internal/Logging/src/LoggingVersions.props | Uses AssemblyBuildNumber for defaults; documentation updated. |
| src/Microsoft.Data.SqlClient.Extensions/Azure/src/AzureVersions.props | Uses AssemblyBuildNumber for defaults; documentation updated. |
| src/Microsoft.Data.SqlClient.Extensions/Abstractions/src/AbstractionsVersions.props | Uses AssemblyBuildNumber for defaults; documentation updated. |
| eng/pipelines/stress/stress-tests-stage.yml | Adds cross-platform stress test stage template. |
| eng/pipelines/stress/stress-tests-pipeline.yml | Adds dedicated stress-test pipeline triggered by upstream pipelines. |
| eng/pipelines/stress-tests-pipeline.yml | Removes legacy placeholder stress pipeline. |
| eng/pipelines/sqlclient-pr-project-ref-pipeline.yml | PR pipeline path updates; excludes stress; disables legacy SQL stages. |
| eng/pipelines/sqlclient-pr-package-ref-pipeline.yml | PR pipeline path updates; excludes stress; disables legacy SQL stages. |
| eng/pipelines/onebranch/variables/sqlclient-validation-variables.yml | Deleted legacy validation variables file. |
| eng/pipelines/onebranch/variables/onebranch-variables.yml | Updates variable groups for signing/symbols; streamlines variables. |
| eng/pipelines/onebranch/steps/roslyn-analyzers-sqlclient-step.yml | Adds build2-based Roslyn analyzer step for SqlClient. |
| eng/pipelines/onebranch/steps/roslyn-analyzers-csproj-step.yml | Improves parameterization and display naming for analyzer steps. |
| eng/pipelines/onebranch/steps/pack-sqlclient-step.yml | Adds build2-based pack step for SqlClient and copies packages to output. |
| eng/pipelines/onebranch/steps/pack-csproj-step.yml | Simplifies pack step and hardcodes Release for OneBranch packaging. |
| eng/pipelines/onebranch/steps/esrp-nuget-signing-step.yml | Refactors signing step to use explicit search path/pattern parameters. |
| eng/pipelines/onebranch/steps/esrp-dll-signing-step.yml | Adjusts signing to scan under $(BUILD_OUTPUT) and improves quoting. |
| eng/pipelines/onebranch/steps/esrp-code-signing-step.yml | Deleted legacy combined signing step template. |
| eng/pipelines/onebranch/steps/copy-apiscan-files-sqlclient-step.yml | Adds APIScan file copy step for SqlClient binaries/PDBs. |
| eng/pipelines/onebranch/steps/compound-nuget-pack-step.yml | Deleted legacy compound packing template. |
| eng/pipelines/onebranch/steps/build-sqlclient-step.yml | Adds build2-based SqlClient build step with signing key download. |
| eng/pipelines/onebranch/steps/build-csproj-step.yml | Simplifies build step and hardcodes Release for OneBranch build. |
| eng/pipelines/onebranch/steps/build-all-configurations-signed-dlls-step.yml | Deleted legacy “build all configurations” step. |
| eng/pipelines/onebranch/jobs/publish-nuget-package-job.yml | Publishes artifacts from $(PACK_OUTPUT) for OneBranch releases. |
| eng/pipelines/libraries/ci-build-variables.yml | Adjusts MDS CI version string to fit new versioning behavior. |
| eng/pipelines/jobs/test-azure-package-ci-job.yml | Fixes display-name doc comment and clarifies PLATFORM unset note. |
| eng/pipelines/jobs/test-abstractions-package-ci-job.yml | Fixes display-name doc comment and clarifies PLATFORM unset note. |
| eng/pipelines/jobs/pack-azure-package-ci-job.yml | Clarifies PLATFORM unset note. |
| eng/pipelines/jobs/pack-abstractions-package-ci-job.yml | Clarifies PLATFORM unset note. |
| eng/pipelines/dotnet-sqlclient-ci-project-reference-pipeline.yml | Removes stress parameter from CI pipelines; typo fix. |
| eng/pipelines/dotnet-sqlclient-ci-package-reference-pipeline.yml | Removes stress parameter from CI pipelines; typo fix. |
| eng/pipelines/dotnet-sqlclient-ci-core.yml | Adds legacy SQL Server 2016/2017 CI stages behind parameter; removes stress stage wiring. |
| eng/pipelines/Pipelines.csproj | Adds no-build project to surface pipeline files in IDE/solution. |
| AGENTS.md | Documents AI-agent branch naming convention. |
| .github/workflows/codeql.yml | Updates CodeQL build to use .slnx. |
| .github/workflows/cherry-pick-hotfix.yml | Adds automation to cherry-pick hotfix-labeled PRs into release branches. |
| .github/prompts/update-build-pipelines.prompt.md | Updates tool scoping for prompts. |
| .github/prompts/refine-test-overlap.prompt.md | Renames prompt and scopes tools; fixes paths. |
| .github/prompts/generate-skill.prompt.md | Adds tool scoping and agent metadata. |
| .github/prompts/generate-prompt.prompt.md | Adds tool scoping guidance and frontmatter updates. |
| .github/prompts/generate-doc-comments.prompt.md | Renames prompt to generate-doc-comments. |
| .github/prompts/code-review.prompt.md | Updates prompt to support PR number or branch and scopes tools. |
| .github/copilot-instructions.md | Adds branch naming requirement for AI agents. |
| .devcontainer/devcontainer.json | Updates default solution to .slnx. |
Codecov Report❌ Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## release/7.0 #4215 +/- ##
===============================================
- Coverage 73.02% 64.82% -8.21%
===============================================
Files 280 275 -5
Lines 43025 65861 +22836
===============================================
+ Hits 31421 42692 +11271
- Misses 11604 23169 +11565
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
| { | ||
| result.Task.ContinueWith( | ||
| continuationAction: s_openAsyncComplete, | ||
| continuationAction: static (task, state) => s_openAsyncComplete(task, state), |
There was a problem hiding this comment.
This is a behaviour change. Do we want to keep this on release/7.0?
| Identity = identity; | ||
| AuthenticationContexts = new(); | ||
| MaxPoolSize = Convert.ToUInt32(PoolGroupOptions.MaxPoolSize); | ||
| TransactedConnectionPool = new(this); |
There was a problem hiding this comment.
These connection pool changes look fine to keep on release/7.0.
| { | ||
| currentTimeOut = ReceiveTimeoutsForCLNT_BCAST_EX; | ||
| SqlClientEventSource.Log.TrySNITraceEvent(nameof(SsrpClient), EventType.INFO, "Received instnace info from UDP Client."); | ||
| SqlClientEventSource.Log.TrySNITraceEvent(nameof(SsrpClient), EventType.INFO, "Received instance info from UDP Client."); |
There was a problem hiding this comment.
Typo fix in a log message; fine to keep on release/7.0.
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 143 out of 145 changed files in this pull request and generated 2 comments.
Comments suppressed due to low confidence (1)
eng/pipelines/onebranch/jobs/publish-nuget-package-job.yml:75
packagePathdefaults to an empty string, butpackageToPushis computed withcoalesce(parameters.packagePath, ...). In Azure Pipelines template expressions,coalescedoes not treat''as null, so the default will likely resolve to an empty path instead of the intended${packageName}.*.nupkgpattern. Consider either defaultingpackagePathto null (omit the default) or using an explicit empty-string check when buildingpackageToPush.
| /// <summary> | ||
| /// Generates the definition of a table with the number of bit columns specified. | ||
| /// </summary> | ||
| /// <param name="tableName">The name of the table</param> |
There was a problem hiding this comment.
Fix for Copilot comment to avoid XML docs generation errors.
| /// </summary> | ||
| /// <param name="collation">Name of a SQL Server collation which encodes text in the given code page.</param> | ||
| /// <param name="codePage">ID of the codepage which should be used by SQL Server and the driver to encode and decode text.</param> | ||
| [Theory] |
There was a problem hiding this comment.
Made this Theory use conditions consistent with the other tests, per Copilot.
| sqlConnection.Open(); | ||
| roundtripCollationCommand.ExecuteNonQuery(); | ||
|
|
||
| // Resolve the encoding after Open() so that SqlClient's internal registration of |
There was a problem hiding this comment.
Robustness fix, per Copilot.
- Addressed Copilot feedback.
|
|
||
| # Abstractions library assembly file version | ||
| - name: abstractionsAssemblyFileVersion | ||
| value: 1.0.0.$(assemblyBuildNumber) |
There was a problem hiding this comment.
We're not necessarily going to release all of these packages, but now their version numbers make sense for this branch.
| protected override void DropObject() | ||
| { | ||
| using SqlCommand dropCommand = new($"IF (OBJECT_ID('{Name}') IS NOT NULL) DROP TYPE {Name}", Connection); | ||
| // Use TYPE_ID instead of OBJECT_ID because OBJECT_ID does not resolve |
There was a problem hiding this comment.
Fix suggested by Copilot.
|
Are all these changes really necessary to get into 7.0 branch? And what about the PRs we have opened for each of these too? Are we not merging them? You shouldn't be squashing them together fyi to retain history and all commits should be cherry-picks in the same order of having them in main. And if that means taking them one at a time - that should be the right way. |
Description
We have let
release/7.0drift from main with many non-driver commits. This PR brings them all over. These are engineering, test, build, project, pipeline, etc changes that we should have cherry-picked as the PRs were committed.This will pave the way to bring over the symbols publishing changes from #4175 cleanly, which we need to perform the 7.0.1 release.
It's probably best to review each commit, and compare it to the original PR. I will make a note of any changes that aren't obviously non-driver.
Cherry-picked commits from
mainf23848675de86f7a5cd359511f3171765a351013cf3b8721859a35f58d7a8253a7e5c2bab780ad1dec85343ce13fcde6a66e7b0854bd9aad4ec4426d20f651614b41053f113008f20824970583877beb18c0b06273e78634a3444b99276a967fa5c28cNotes
86492a1fa(Validate milestone assignment on pull requests. #4055 — Validate milestone assignment) was skipped as empty (already applied).