From 98226347ed7d4e04ef9f1c5330484324229cfe2b Mon Sep 17 00:00:00 2001 From: Yunchi Wang Date: Mon, 8 Jun 2026 16:08:44 +0800 Subject: [PATCH 01/10] Update files to follow the CFS policy --- .azure/pipelines/release.yml | 4 +++- build/sources.props | 18 +++++++++++++++--- 2 files changed, 18 insertions(+), 4 deletions(-) diff --git a/.azure/pipelines/release.yml b/.azure/pipelines/release.yml index 66bb85072..22277b8f3 100644 --- a/.azure/pipelines/release.yml +++ b/.azure/pipelines/release.yml @@ -61,7 +61,7 @@ extends: eslint: enabled: false settings: - networkIsolationPolicy: Okay,GitHub,AzureFileCopy,NuGet,AzureStorage + networkIsolationPolicy: Permissive,CFSClean,CFSClean2 stages: - stage: Stage jobs: @@ -105,6 +105,8 @@ extends: inputs: version: 10.x performMultiLevelLookup: true + - task: NuGetAuthenticate@1 + displayName: Authenticate to Azure Artifacts (signalr-service-private) - ${{ if or( eq(parameters.isFinalBuild, false), eq(parameters.releaseSDKCore, true)) }}: - task: DotNetCoreCLI@2 displayName: dotnet build AzureSignalR.sln diff --git a/build/sources.props b/build/sources.props index 72b1eaaa9..d9bb3586f 100644 --- a/build/sources.props +++ b/build/sources.props @@ -7,15 +7,27 @@ $(MSBuildThisFileDirectory)packages; https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-tools/nuget/v3/index.json; - + + $(RestoreSources); + https://msazure.pkgs.visualstudio.com/One/_packaging/signalr-service-private/nuget/v2; + + $(RestoreSources); https://api.nuget.org/v3/index.json; - + + $(LocalFeed); + https://msazure.pkgs.visualstudio.com/One/_packaging/signalr-service-private/nuget/v2; + + $(LocalFeed); https://api.nuget.org/v3/index.json; - + + $(MSBuildThisFileDirectory)packages; + https://msazure.pkgs.visualstudio.com/One/_packaging/signalr-service-private/nuget/v2; + + $(MSBuildThisFileDirectory)packages; https://www.myget.org/F/azure-signalr-dev/api/v3/index.json; https://api.nuget.org/v3/index.json; From 92c18efbe3f73f8a2c6220d949ef959e25585fb4 Mon Sep 17 00:00:00 2001 From: Yunchi Wang Date: Tue, 9 Jun 2026 14:17:49 +0800 Subject: [PATCH 02/10] Update files to follow the CFS policy --- .azure/pipelines/release.yml | 51 ------------------------------------ 1 file changed, 51 deletions(-) diff --git a/.azure/pipelines/release.yml b/.azure/pipelines/release.yml index 22277b8f3..c9cc6bbc7 100644 --- a/.azure/pipelines/release.yml +++ b/.azure/pipelines/release.yml @@ -74,12 +74,6 @@ extends: artifactName: Artifact targetPath: artifacts displayName: Publish nupkg to artifacts - - output: nuget - displayName: Push packages to azure-signalr-dev feed - nuGetFeedType: external - packagesToPush: artifacts/**/*.nupkg;artifacts/**/*.snupkg - packageParentPath: artifacts - publishFeedCredentials: azure-signalr-dev steps: - checkout: self clean: true @@ -163,50 +157,5 @@ extends: displayName: "Manifest Generator " inputs: BuildDropPath: artifacts - - job: SDK_Partner_Release - displayName: SDK Partner Release - dependsOn: Phase_1 - steps: - - download: current - artifact: Artifact - displayName: Download artifacts - - ${{ if eq(parameters.isFinalBuild, true) }}: - - task: AzurePowerShell@5 - displayName: 'Install AzCopy (Windows)' - inputs: - azureSubscription: azuresdkpartnerdrops - ScriptType: InlineScript - azurePowerShellVersion: LatestVersion - pwsh: true - Inline: | - $ErrorActionPreference = 'Stop' - $zip = Join-Path $env:TEMP 'azcopy.zip' - $dir = Join-Path $env:TEMP 'azcopy' - $exe = Join-Path $dir 'azcopy.exe' - Invoke-WebRequest -Uri "https://aka.ms/downloadazcopy-v10-windows" -OutFile $zip - if (Test-Path $dir) { Remove-Item $dir -Recurse -Force } - Expand-Archive -Path $zip -DestinationPath $dir - - # The zip contains a subfolder like azcopy_windows_amd64_*/azcopy.exe - $found = Get-ChildItem $dir -Recurse -Filter azcopy.exe | Select-Object -First 1 - if (-not $found) { throw "azcopy.exe not found after extraction" } - - $az = $found.FullName - Write-Host "AzCopy path: $az" - & $az --version - - # Put it on PATH for subsequent steps in the same job - Write-Host "##vso[task.prependpath]$($found.DirectoryName)" - - task: AzurePowerShell@5 - displayName: 'Upload files to partner drop folder' - inputs: - azureSubscription: 'azuresdkpartnerdrops' - ScriptType: 'InlineScript' - azurePowerShellVersion: LatestVersion - pwsh: true - Inline: | - azcopy copy "$(Pipeline.Workspace)/Artifact/*" "https://azuresdkpartnerdrops.blob.core.windows.net/drops/azure-signalr/dotnet/$(BuildNumber)/" --recursive --log-level=INFO - env: - AZCOPY_AUTO_LOGIN_TYPE: 'PSCRED' From 456443896ae9ec38b6d9071a21eb27c0bf9f6b33 Mon Sep 17 00:00:00 2001 From: Yunchi Wang Date: Wed, 10 Jun 2026 13:45:32 +0800 Subject: [PATCH 03/10] Update azure artifacts --- .azure/pipelines/release.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.azure/pipelines/release.yml b/.azure/pipelines/release.yml index c9cc6bbc7..ce2a3ec35 100644 --- a/.azure/pipelines/release.yml +++ b/.azure/pipelines/release.yml @@ -100,7 +100,7 @@ extends: version: 10.x performMultiLevelLookup: true - task: NuGetAuthenticate@1 - displayName: Authenticate to Azure Artifacts (signalr-service-private) + displayName: Authenticate to Azure Artifacts (1es-internal) - ${{ if or( eq(parameters.isFinalBuild, false), eq(parameters.releaseSDKCore, true)) }}: - task: DotNetCoreCLI@2 displayName: dotnet build AzureSignalR.sln From f8f9520b3c1687c64237d59035e9a2646a94fd54 Mon Sep 17 00:00:00 2001 From: Yunchi Wang Date: Wed, 10 Jun 2026 14:04:45 +0800 Subject: [PATCH 04/10] Update azure artifacts --- build/sources.props | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/build/sources.props b/build/sources.props index d9bb3586f..6ce4d7dc2 100644 --- a/build/sources.props +++ b/build/sources.props @@ -9,7 +9,7 @@ $(RestoreSources); - https://msazure.pkgs.visualstudio.com/One/_packaging/signalr-service-private/nuget/v2; + https://msazure.pkgs.visualstudio.com/One/_packaging/1es-internal/nuget/v2; $(RestoreSources); @@ -17,7 +17,7 @@ $(LocalFeed); - https://msazure.pkgs.visualstudio.com/One/_packaging/signalr-service-private/nuget/v2; + https://msazure.pkgs.visualstudio.com/One/_packaging/1es-internal/nuget/v2; $(LocalFeed); @@ -25,7 +25,7 @@ $(MSBuildThisFileDirectory)packages; - https://msazure.pkgs.visualstudio.com/One/_packaging/signalr-service-private/nuget/v2; + https://msazure.pkgs.visualstudio.com/One/_packaging/1es-internal/nuget/v2; $(MSBuildThisFileDirectory)packages; From a1ec439e7fb1e5626292148a365190f59613575b Mon Sep 17 00:00:00 2001 From: Yunchi Wang Date: Wed, 10 Jun 2026 14:44:16 +0800 Subject: [PATCH 05/10] Update azure artifacts --- .azure/pipelines/release.yml | 2 +- build/sources.props | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/.azure/pipelines/release.yml b/.azure/pipelines/release.yml index ce2a3ec35..cc64e4463 100644 --- a/.azure/pipelines/release.yml +++ b/.azure/pipelines/release.yml @@ -100,7 +100,7 @@ extends: version: 10.x performMultiLevelLookup: true - task: NuGetAuthenticate@1 - displayName: Authenticate to Azure Artifacts (1es-internal) + displayName: Authenticate to Azure Artifacts (VSOnline-Internal) - ${{ if or( eq(parameters.isFinalBuild, false), eq(parameters.releaseSDKCore, true)) }}: - task: DotNetCoreCLI@2 displayName: dotnet build AzureSignalR.sln diff --git a/build/sources.props b/build/sources.props index 6ce4d7dc2..bb7fac962 100644 --- a/build/sources.props +++ b/build/sources.props @@ -9,7 +9,7 @@ $(RestoreSources); - https://msazure.pkgs.visualstudio.com/One/_packaging/1es-internal/nuget/v2; + https://msazure.pkgs.visualstudio.com/One/_packaging/VSOnline-Internal/nuget/v2; $(RestoreSources); @@ -17,7 +17,7 @@ $(LocalFeed); - https://msazure.pkgs.visualstudio.com/One/_packaging/1es-internal/nuget/v2; + https://msazure.pkgs.visualstudio.com/One/_packaging/VSOnline-Internal/nuget/v2; $(LocalFeed); @@ -25,7 +25,7 @@ $(MSBuildThisFileDirectory)packages; - https://msazure.pkgs.visualstudio.com/One/_packaging/1es-internal/nuget/v2; + https://msazure.pkgs.visualstudio.com/One/_packaging/VSOnline-Internal/nuget/v2; $(MSBuildThisFileDirectory)packages; From 07e263147ee25c1ab09dbdf7b923fccc83c77077 Mon Sep 17 00:00:00 2001 From: Yunchi Wang Date: Wed, 10 Jun 2026 15:05:21 +0800 Subject: [PATCH 06/10] Update azure artifacts --- build/sources.props | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/build/sources.props b/build/sources.props index bb7fac962..18b88a4d6 100644 --- a/build/sources.props +++ b/build/sources.props @@ -9,7 +9,7 @@ $(RestoreSources); - https://msazure.pkgs.visualstudio.com/One/_packaging/VSOnline-Internal/nuget/v2; + https://pkgs.dev.azure.com/mseng/_packaging/VSOnline-Internal/nuget/v3/index.json; $(RestoreSources); @@ -17,7 +17,7 @@ $(LocalFeed); - https://msazure.pkgs.visualstudio.com/One/_packaging/VSOnline-Internal/nuget/v2; + https://pkgs.dev.azure.com/mseng/_packaging/VSOnline-Internal/nuget/v3/index.json; $(LocalFeed); @@ -25,7 +25,7 @@ $(MSBuildThisFileDirectory)packages; - https://msazure.pkgs.visualstudio.com/One/_packaging/VSOnline-Internal/nuget/v2; + https://pkgs.dev.azure.com/mseng/_packaging/VSOnline-Internal/nuget/v3/index.json; $(MSBuildThisFileDirectory)packages; From 80ea7b010f057c649dec1b5fe9f44c6e8bddde99 Mon Sep 17 00:00:00 2001 From: Yunchi Wang Date: Wed, 10 Jun 2026 15:58:50 +0800 Subject: [PATCH 07/10] Update azure artifacts --- .azure/pipelines/release.yml | 4 +--- build/sources.props | 20 ++++---------------- 2 files changed, 5 insertions(+), 19 deletions(-) diff --git a/.azure/pipelines/release.yml b/.azure/pipelines/release.yml index cc64e4463..bb94bff74 100644 --- a/.azure/pipelines/release.yml +++ b/.azure/pipelines/release.yml @@ -61,7 +61,7 @@ extends: eslint: enabled: false settings: - networkIsolationPolicy: Permissive,CFSClean,CFSClean2 + networkIsolationPolicy: Permissive,CFSClean stages: - stage: Stage jobs: @@ -99,8 +99,6 @@ extends: inputs: version: 10.x performMultiLevelLookup: true - - task: NuGetAuthenticate@1 - displayName: Authenticate to Azure Artifacts (VSOnline-Internal) - ${{ if or( eq(parameters.isFinalBuild, false), eq(parameters.releaseSDKCore, true)) }}: - task: DotNetCoreCLI@2 displayName: dotnet build AzureSignalR.sln diff --git a/build/sources.props b/build/sources.props index 18b88a4d6..03f26988a 100644 --- a/build/sources.props +++ b/build/sources.props @@ -7,30 +7,18 @@ $(MSBuildThisFileDirectory)packages; https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-tools/nuget/v3/index.json; - - $(RestoreSources); - https://pkgs.dev.azure.com/mseng/_packaging/VSOnline-Internal/nuget/v3/index.json; - - + $(RestoreSources); https://api.nuget.org/v3/index.json; - - $(LocalFeed); - https://pkgs.dev.azure.com/mseng/_packaging/VSOnline-Internal/nuget/v3/index.json; - - + $(LocalFeed); https://api.nuget.org/v3/index.json; - - $(MSBuildThisFileDirectory)packages; - https://pkgs.dev.azure.com/mseng/_packaging/VSOnline-Internal/nuget/v3/index.json; - - + $(MSBuildThisFileDirectory)packages; https://www.myget.org/F/azure-signalr-dev/api/v3/index.json; https://api.nuget.org/v3/index.json; - + \ No newline at end of file From 9a3a78cd344645e559b11b8915af58c5567210a8 Mon Sep 17 00:00:00 2001 From: Yunchi Wang Date: Sat, 20 Jun 2026 01:01:05 +0800 Subject: [PATCH 08/10] Update azure artifacts --- .azure/pipelines/release.yml | 2 ++ build/sources.props | 20 ++++++++++++++++---- 2 files changed, 18 insertions(+), 4 deletions(-) diff --git a/.azure/pipelines/release.yml b/.azure/pipelines/release.yml index bb94bff74..3ed8cf5d4 100644 --- a/.azure/pipelines/release.yml +++ b/.azure/pipelines/release.yml @@ -99,6 +99,8 @@ extends: inputs: version: 10.x performMultiLevelLookup: true + - task: NuGetAuthenticate@1 + displayName: Authenticate to Azure Artifacts (VSOnline-Internal) - ${{ if or( eq(parameters.isFinalBuild, false), eq(parameters.releaseSDKCore, true)) }}: - task: DotNetCoreCLI@2 displayName: dotnet build AzureSignalR.sln diff --git a/build/sources.props b/build/sources.props index 03f26988a..f4d7b24c6 100644 --- a/build/sources.props +++ b/build/sources.props @@ -7,18 +7,30 @@ $(MSBuildThisFileDirectory)packages; https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-tools/nuget/v3/index.json; - + + $(RestoreSources); + https://pkgs.dev.azure.com/mseng/_packaging/azure-signalr-server-sdk/nuget/v3/index.json; + + $(RestoreSources); https://api.nuget.org/v3/index.json; - + + $(LocalFeed); + https://pkgs.dev.azure.com/mseng/_packaging/azure-signalr-server-sdk/nuget/v3/index.json; + + $(LocalFeed); https://api.nuget.org/v3/index.json; - + + $(MSBuildThisFileDirectory)packages; + https://pkgs.dev.azure.com/mseng/_packaging/azure-signalr-server-sdk/nuget/v3/index.json; + + $(MSBuildThisFileDirectory)packages; https://www.myget.org/F/azure-signalr-dev/api/v3/index.json; https://api.nuget.org/v3/index.json; - \ No newline at end of file + From 768d636838a0a9af724f0f07960745b2d2db9c30 Mon Sep 17 00:00:00 2001 From: Yunchi Wang Date: Sat, 20 Jun 2026 01:20:25 +0800 Subject: [PATCH 09/10] Update azure artifacts --- build/sources.props | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/build/sources.props b/build/sources.props index f4d7b24c6..abd61a5ce 100644 --- a/build/sources.props +++ b/build/sources.props @@ -9,7 +9,7 @@ $(RestoreSources); - https://pkgs.dev.azure.com/mseng/_packaging/azure-signalr-server-sdk/nuget/v3/index.json; + https://pkgs.dev.azure.com/mseng/VSJava/_packaging/azure-signalr-server-sdk/nuget/v3/index.json; $(RestoreSources); @@ -17,7 +17,7 @@ $(LocalFeed); - https://pkgs.dev.azure.com/mseng/_packaging/azure-signalr-server-sdk/nuget/v3/index.json; + https://pkgs.dev.azure.com/mseng/VSJava/_packaging/azure-signalr-server-sdk/nuget/v3/index.json; $(LocalFeed); @@ -25,7 +25,7 @@ $(MSBuildThisFileDirectory)packages; - https://pkgs.dev.azure.com/mseng/_packaging/azure-signalr-server-sdk/nuget/v3/index.json; + https://pkgs.dev.azure.com/mseng/VSJava/_packaging/azure-signalr-server-sdk/nuget/v3/index.json; $(MSBuildThisFileDirectory)packages; From c7d1127f93354018837b0d04e5b193a8f22111fc Mon Sep 17 00:00:00 2001 From: Yunchi Wang Date: Mon, 22 Jun 2026 16:55:43 +0800 Subject: [PATCH 10/10] Add back the output part --- .azure/pipelines/release.yml | 51 ++++++++++++++++++++++++++++++++++++ 1 file changed, 51 insertions(+) diff --git a/.azure/pipelines/release.yml b/.azure/pipelines/release.yml index 3ed8cf5d4..a236f3a85 100644 --- a/.azure/pipelines/release.yml +++ b/.azure/pipelines/release.yml @@ -74,6 +74,12 @@ extends: artifactName: Artifact targetPath: artifacts displayName: Publish nupkg to artifacts + - output: nuget + displayName: Push packages to azure-signalr-dev feed + nuGetFeedType: external + packagesToPush: artifacts/**/*.nupkg;artifacts/**/*.snupkg + packageParentPath: artifacts + publishFeedCredentials: azure-signalr-dev steps: - checkout: self clean: true @@ -157,5 +163,50 @@ extends: displayName: "Manifest Generator " inputs: BuildDropPath: artifacts + - job: SDK_Partner_Release + displayName: SDK Partner Release + dependsOn: Phase_1 + steps: + - download: current + artifact: Artifact + displayName: Download artifacts + - ${{ if eq(parameters.isFinalBuild, true) }}: + - task: AzurePowerShell@5 + displayName: 'Install AzCopy (Windows)' + inputs: + azureSubscription: azuresdkpartnerdrops + ScriptType: InlineScript + azurePowerShellVersion: LatestVersion + pwsh: true + Inline: | + $ErrorActionPreference = 'Stop' + $zip = Join-Path $env:TEMP 'azcopy.zip' + $dir = Join-Path $env:TEMP 'azcopy' + $exe = Join-Path $dir 'azcopy.exe' + Invoke-WebRequest -Uri "https://aka.ms/downloadazcopy-v10-windows" -OutFile $zip + if (Test-Path $dir) { Remove-Item $dir -Recurse -Force } + Expand-Archive -Path $zip -DestinationPath $dir + + # The zip contains a subfolder like azcopy_windows_amd64_*/azcopy.exe + $found = Get-ChildItem $dir -Recurse -Filter azcopy.exe | Select-Object -First 1 + if (-not $found) { throw "azcopy.exe not found after extraction" } + + $az = $found.FullName + Write-Host "AzCopy path: $az" + & $az --version + + # Put it on PATH for subsequent steps in the same job + Write-Host "##vso[task.prependpath]$($found.DirectoryName)" + - task: AzurePowerShell@5 + displayName: 'Upload files to partner drop folder' + inputs: + azureSubscription: 'azuresdkpartnerdrops' + ScriptType: 'InlineScript' + azurePowerShellVersion: LatestVersion + pwsh: true + Inline: | + azcopy copy "$(Pipeline.Workspace)/Artifact/*" "https://azuresdkpartnerdrops.blob.core.windows.net/drops/azure-signalr/dotnet/$(BuildNumber)/" --recursive --log-level=INFO + env: + AZCOPY_AUTO_LOGIN_TYPE: 'PSCRED'