diff --git a/.editorconfig b/.editorconfig
index e64a0519df7..6d41cceeeb5 100644
--- a/.editorconfig
+++ b/.editorconfig
@@ -276,6 +276,9 @@ dotnet_diagnostic.IDE0037.severity = suggestion
# Use local function
dotnet_diagnostic.IDE0039.severity = suggestion
+# Accessibility modifiers required
+dotnet_diagnostic.IDE0040.severity = none
+
# Null check can be simplified
dotnet_diagnostic.IDE0041.severity = suggestion
@@ -298,6 +301,12 @@ dotnet_diagnostic.IDE0048.severity = suggestion
# Member name can be simplified
dotnet_diagnostic.IDE0049.severity = suggestion
+# Private member is unused
+dotnet_diagnostic.IDE0051.severity = none
+
+# Remove unread private member
+dotnet_diagnostic.IDE0052.severity = none
+
# Use compound assignment
dotnet_diagnostic.IDE0054.severity = suggestion
@@ -415,6 +424,9 @@ dotnet_diagnostic.IDE0301.severity = suggestion
dotnet_diagnostic.IDE0305.severity = suggestion
dotnet_diagnostic.IDE0306.severity = suggestion
+# Use implicitly typed lambda
+dotnet_diagnostic.IDE0350.severity = none
+
# Temporarily disable SA1010 "Opening square brackets should not be preceded by a space" until https://github.com/DotNetAnalyzers/StyleCopAnalyzers/issues/3687 is fixed
dotnet_diagnostic.SA1010.severity = none
diff --git a/.vsts-dotnet-ci.yml b/.vsts-dotnet-ci.yml
index 624666c9360..3f387ab9386 100644
--- a/.vsts-dotnet-ci.yml
+++ b/.vsts-dotnet-ci.yml
@@ -15,6 +15,7 @@ variables:
jobs:
- job: CheckVersionBumpOnReleaseBranches
+ condition: startsWith(variables['System.PullRequest.TargetBranch'], 'vs')
displayName: "Check Version Bump On Release Branches"
steps:
- powershell: |
diff --git a/.vsts-dotnet.yml b/.vsts-dotnet.yml
index e2105793ce3..cfa76d683ab 100644
--- a/.vsts-dotnet.yml
+++ b/.vsts-dotnet.yml
@@ -37,6 +37,10 @@ variables:
value: true # Enable loc for vs17.14
- name: Codeql.Enabled
value: true
+ # ensures we don't build and push experimental versions to official feeds as release versions
+ - name: IsExperimental
+ value: ${{ startsWith(variables['Build.SourceBranch'], 'refs/heads/exp/') }}
+ - group: DotNet-MSBuild-SDLValidation-Params
- group: AzureDevOps-Artifact-Feeds-Pats
- name: cfsNugetWarnLevel
value: warn
@@ -179,6 +183,7 @@ extends:
/p:DotNetPublishUsingPipelines=true
/p:VisualStudioIbcDrop=$(OptProfDrop)
/p:GenerateSbom=true
+ /p:SuppressFinalPackageVersion=$(IsExperimental)
displayName: Build
condition: succeeded()
diff --git a/azure-pipelines/vs-insertion-experimental.yml b/azure-pipelines/vs-insertion-experimental.yml
index ab2ce364131..0e248a57da9 100644
--- a/azure-pipelines/vs-insertion-experimental.yml
+++ b/azure-pipelines/vs-insertion-experimental.yml
@@ -104,6 +104,41 @@ extends:
$branch = $branchSegments[-1]
Write-Host "Setting drops branch to '$branch'"
Write-Host "##vso[task.setvariable variable=SourceBranchName]$branch"
+
+ - task: Powershell@2
+ name: DetermineTargetBranch
+ displayName: Determine target branch
+ inputs:
+ targetType: inline
+ script: |
+ # Extract VS version from branch name if it follows exp/vsXX.Y-somename pattern
+ $fullBranch = "$(resources.pipeline.MSBuild.sourceBranch)"
+ $parameterTargetBranch = "${{ parameters.TargetBranch }}"
+ $detectedTarget = "main" # Default target branch
+
+ # Try to match the pattern with regex
+ if ($fullBranch -match "exp/vs(\d+)\.(\d+).*") {
+ $major = $matches[1]
+ $minor = $matches[2]
+ $targetBranch = "rel/d$major.$minor"
+ Write-Host "Detected version pattern in branch: $major.$minor"
+ Write-Host "Setting target branch to $targetBranch"
+ $detectedTarget = $targetBranch
+ } else {
+ Write-Host "No version pattern detected in branch, using default target: main"
+ }
+
+ # Determine which target branch to use based on build reason
+ $finalTargetBranch = $parameterTargetBranch
+ if ("$(Build.Reason)" -eq "ResourceTrigger" -or "$(Build.Reason)" -eq "PipelineCompletedTrigger") {
+ Write-Host "Build was triggered automatically, using detected target branch: $detectedTarget"
+ $finalTargetBranch = $detectedTarget
+ } else {
+ Write-Host "Build was triggered manually, using parameter target branch: $parameterTargetBranch"
+ }
+
+ Write-Host "##vso[task.setvariable variable=FinalTargetBranch]$finalTargetBranch"
+
- task: Powershell@2
name: PwshMungeExternalAPIsPkgVersion
displayName: Munge ExternalAPIs package version
@@ -135,7 +170,7 @@ extends:
LinkWorkItemsToPR: true
TeamName: $(TeamName)
TeamEmail: $(TeamEmail)
- TargetBranch: ${{ parameters.TargetBranch }}
+ TargetBranch: $(FinalTargetBranch)
InsertionPayloadName: $(InsertPayloadName)
PackagePropsValues: VS.ExternalAPIs.MSBuild=$(MSBuild_ExtApisPackageVersion);Microsoft.Build=$(MicrosoftNETStringToolsPackageVersion);Microsoft.Build.Framework=$(MicrosoftNETStringToolsPackageVersion);Microsoft.Build.Tasks.Core=$(MicrosoftNETStringToolsPackageVersion);Microsoft.Build.Utilities.Core=$(MicrosoftNETStringToolsPackageVersion);Microsoft.NET.StringTools=$(MicrosoftNETStringToolsPackageVersion)
InsertionDescription: $(InsertDescription)
diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml
index 0a38c8e770a..5ebb373aa6e 100644
--- a/eng/Version.Details.xml
+++ b/eng/Version.Details.xml
@@ -123,19 +123,19 @@
-
+
https://github.com/dotnet/arcade
- 5da211e1c42254cb35e7ef3d5a8428fb24853169
+ 0d52a8b262d35fa2fde84e398cb2e791b8454bd2
-
+
https://github.com/dotnet/arcade
- 5da211e1c42254cb35e7ef3d5a8428fb24853169
+ 0d52a8b262d35fa2fde84e398cb2e791b8454bd2
-
+
https://github.com/dotnet/arcade
- 5da211e1c42254cb35e7ef3d5a8428fb24853169
+ 0d52a8b262d35fa2fde84e398cb2e791b8454bd2
https://github.com/nuget/nuget.client
@@ -150,9 +150,9 @@
46223204b646f96104bac46f9dfa4959da9d86ac
-
+
https://github.com/dotnet/arcade
- 5da211e1c42254cb35e7ef3d5a8428fb24853169
+ 0d52a8b262d35fa2fde84e398cb2e791b8454bd2
diff --git a/eng/Versions.props b/eng/Versions.props
index a6c2c9d9649..57fafd35799 100644
--- a/eng/Versions.props
+++ b/eng/Versions.props
@@ -2,7 +2,7 @@
- 17.14.12release
+ 17.14.13release
17.13.9
15.1.0.0
servicing
@@ -68,12 +68,12 @@
Otherwise, this version of dotnet will not be installed and the build will error out. -->
$([System.Text.RegularExpressions.Regex]::Match($([System.IO.File]::ReadAllText('$(MSBuildThisFileDirectory)..\global.json')), '"dotnet": "([^"]*)"').Groups.get_Item(1))
4.2.0-1.22102.8
- 9.0.0-beta.25111.5
+ 9.0.0-beta.25302.2
4.14.0-3.25157.4
6.14.0-rc.116
- 9.0.200-preview.0.24603.3
+ 9.0.301