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