From 8d9af71566c2b747f4d35b982b4597c31f085139 Mon Sep 17 00:00:00 2001 From: Jiwon Lee Date: Wed, 1 Jul 2026 12:57:21 -0700 Subject: [PATCH 1/9] Add checked-in nuget.config and use it for restore steps Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- build.yml | 10 ++++------ nuget.config | 7 +++++++ 2 files changed, 11 insertions(+), 6 deletions(-) create mode 100644 nuget.config diff --git a/build.yml b/build.yml index 09b75e0..5562ff3 100644 --- a/build.yml +++ b/build.yml @@ -15,9 +15,8 @@ steps: inputs: command: 'restore' projects: 'VSConfigFinder' - feedsToUse: 'select' - vstsFeed: 'Setup-Dependencies' - includeNuGetOrg: false + feedsToUse: 'config' + nugetConfigPath: 'nuget.config' - task: DotNetCoreCLI@2 displayName: Build @@ -31,9 +30,8 @@ steps: inputs: command: 'restore' projects: 'VSConfigFinder.Test' - feedsToUse: 'select' - vstsFeed: 'Setup-Dependencies' - includeNuGetOrg: false + feedsToUse: 'config' + nugetConfigPath: 'nuget.config' - task: DotNetCoreCLI@2 displayName: Test diff --git a/nuget.config b/nuget.config new file mode 100644 index 0000000..1d9db33 --- /dev/null +++ b/nuget.config @@ -0,0 +1,7 @@ + + + + + + + From 16c89355777e16918a59732fe64253ad9b774c87 Mon Sep 17 00:00:00 2001 From: Jiwon Lee Date: Wed, 1 Jul 2026 12:58:53 -0700 Subject: [PATCH 2/9] Use $(Build.SourcesDirectory) for nugetConfigPath Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- build.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/build.yml b/build.yml index 5562ff3..c456c57 100644 --- a/build.yml +++ b/build.yml @@ -16,7 +16,7 @@ steps: command: 'restore' projects: 'VSConfigFinder' feedsToUse: 'config' - nugetConfigPath: 'nuget.config' + nugetConfigPath: '$(Build.SourcesDirectory)\nuget.config' - task: DotNetCoreCLI@2 displayName: Build @@ -31,7 +31,7 @@ steps: command: 'restore' projects: 'VSConfigFinder.Test' feedsToUse: 'config' - nugetConfigPath: 'nuget.config' + nugetConfigPath: '$(Build.SourcesDirectory)\nuget.config' - task: DotNetCoreCLI@2 displayName: Test From 133ca7863a264f464b81862258d2b10d01dddd5a Mon Sep 17 00:00:00 2001 From: Jiwon Lee Date: Wed, 1 Jul 2026 13:00:43 -0700 Subject: [PATCH 3/9] Pass --configfile to build command Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- build.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build.yml b/build.yml index c456c57..f471824 100644 --- a/build.yml +++ b/build.yml @@ -23,7 +23,7 @@ steps: inputs: command: 'build' projects: 'VSConfigFinder' - arguments: '--configuration $(BuildConfiguration) --no-restore' + arguments: '--configuration $(BuildConfiguration) --no-restore --configfile $(Build.SourcesDirectory)/nuget.config' - task: DotNetCoreCLI@2 displayName: Restore Test From 6f993a0d11b8e5e2766434d6a95ee376fd502fdd Mon Sep 17 00:00:00 2001 From: Jiwon Lee Date: Wed, 1 Jul 2026 13:05:22 -0700 Subject: [PATCH 4/9] Pass RestoreConfigFile and no-build to test command Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- build.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build.yml b/build.yml index f471824..9e27685 100644 --- a/build.yml +++ b/build.yml @@ -38,7 +38,7 @@ steps: inputs: command: 'test' projects: 'VSConfigFinder.Test' - arguments: '--configuration $(BuildConfiguration) --no-restore' + arguments: '--configuration $(BuildConfiguration) --no-restore --no-build -p:RestoreConfigFile=$(Build.SourcesDirectory)/nuget.config' - task: DotNetCoreCLI@2 displayName: Publish From 96f4d783ff44951b9d6ac604d8adaaa840421b60 Mon Sep 17 00:00:00 2001 From: Jiwon Lee Date: Wed, 1 Jul 2026 13:22:58 -0700 Subject: [PATCH 5/9] Update test command arguments in build.yml Removed '--no-build' argument from test command. --- build.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build.yml b/build.yml index 9e27685..fa73245 100644 --- a/build.yml +++ b/build.yml @@ -38,7 +38,7 @@ steps: inputs: command: 'test' projects: 'VSConfigFinder.Test' - arguments: '--configuration $(BuildConfiguration) --no-restore --no-build -p:RestoreConfigFile=$(Build.SourcesDirectory)/nuget.config' + arguments: '--configuration $(BuildConfiguration) --no-restore -p:RestoreConfigFile=$(Build.SourcesDirectory)/nuget.config' - task: DotNetCoreCLI@2 displayName: Publish From f56345815f3be67bd42778028bfd6bcd2fbc0e17 Mon Sep 17 00:00:00 2001 From: Jiwon Lee Date: Wed, 1 Jul 2026 15:33:59 -0700 Subject: [PATCH 6/9] Add NuGet authentication task to build pipeline --- build.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/build.yml b/build.yml index fa73245..bab8eb0 100644 --- a/build.yml +++ b/build.yml @@ -10,6 +10,9 @@ steps: inputs: useGlobalJson: true + - task: NuGetAuthenticate@1 + displayName: Authenticate to Azure Artifacts + - task: DotNetCoreCLI@2 displayName: Restore Build inputs: From d4c6f911cfe9781706f06e7f712b3395727f288c Mon Sep 17 00:00:00 2001 From: Jiwon Lee Date: Wed, 1 Jul 2026 15:44:49 -0700 Subject: [PATCH 7/9] Scope internal-feed nuget.config to Azure DevOps build only Move nuget.config out of repo root into build/ so GitHub Actions dotnet restore no longer auto-discovers it and falls back to nuget.org, while the Azure DevOps pipeline references it explicitly. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- build.yml | 8 ++++---- nuget.config => build/nuget.config | 0 2 files changed, 4 insertions(+), 4 deletions(-) rename nuget.config => build/nuget.config (100%) diff --git a/build.yml b/build.yml index bab8eb0..2a42606 100644 --- a/build.yml +++ b/build.yml @@ -19,14 +19,14 @@ steps: command: 'restore' projects: 'VSConfigFinder' feedsToUse: 'config' - nugetConfigPath: '$(Build.SourcesDirectory)\nuget.config' + nugetConfigPath: '$(Build.SourcesDirectory)\build\nuget.config' - task: DotNetCoreCLI@2 displayName: Build inputs: command: 'build' projects: 'VSConfigFinder' - arguments: '--configuration $(BuildConfiguration) --no-restore --configfile $(Build.SourcesDirectory)/nuget.config' + arguments: '--configuration $(BuildConfiguration) --no-restore --configfile $(Build.SourcesDirectory)/build/nuget.config' - task: DotNetCoreCLI@2 displayName: Restore Test @@ -34,14 +34,14 @@ steps: command: 'restore' projects: 'VSConfigFinder.Test' feedsToUse: 'config' - nugetConfigPath: '$(Build.SourcesDirectory)\nuget.config' + nugetConfigPath: '$(Build.SourcesDirectory)\build\nuget.config' - task: DotNetCoreCLI@2 displayName: Test inputs: command: 'test' projects: 'VSConfigFinder.Test' - arguments: '--configuration $(BuildConfiguration) --no-restore -p:RestoreConfigFile=$(Build.SourcesDirectory)/nuget.config' + arguments: '--configuration $(BuildConfiguration) --no-restore -p:RestoreConfigFile=$(Build.SourcesDirectory)/build/nuget.config' - task: DotNetCoreCLI@2 displayName: Publish diff --git a/nuget.config b/build/nuget.config similarity index 100% rename from nuget.config rename to build/nuget.config From 1d78c8cd57584fd3d9698878b1f3eea3b3ada389 Mon Sep 17 00:00:00 2001 From: Jiwon Lee Date: Wed, 1 Jul 2026 15:47:52 -0700 Subject: [PATCH 8/9] Fix path separators in build.yml Updated path separators in build arguments for consistency. --- build.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/build.yml b/build.yml index 2a42606..c681a5b 100644 --- a/build.yml +++ b/build.yml @@ -26,7 +26,7 @@ steps: inputs: command: 'build' projects: 'VSConfigFinder' - arguments: '--configuration $(BuildConfiguration) --no-restore --configfile $(Build.SourcesDirectory)/build/nuget.config' + arguments: '--configuration $(BuildConfiguration) --no-restore --configfile $(Build.SourcesDirectory)\build\nuget.config' - task: DotNetCoreCLI@2 displayName: Restore Test @@ -41,7 +41,7 @@ steps: inputs: command: 'test' projects: 'VSConfigFinder.Test' - arguments: '--configuration $(BuildConfiguration) --no-restore -p:RestoreConfigFile=$(Build.SourcesDirectory)/build/nuget.config' + arguments: '--configuration $(BuildConfiguration) --no-restore -p:RestoreConfigFile=$(Build.SourcesDirectory)\build\nuget.config' - task: DotNetCoreCLI@2 displayName: Publish From 2310edfcd7962670d31cd3470d50c7f9a2c85554 Mon Sep 17 00:00:00 2001 From: Jiwon Lee Date: Wed, 1 Jul 2026 16:39:42 -0700 Subject: [PATCH 9/9] Move nuget.config back to root; override source in GitHub Actions restore Root nuget.config (internal feed only) is auto-discovered by the Azure DevOps build steps and 1ES governance scans, keeping the build nuget.org-free. GitHub Actions passes --source nuget.org so its restore ignores the internal-only root config instead of 401ing, with no second config file. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- .github/workflows/actions-pr.yml | 2 +- build.yml | 8 ++++---- build/nuget.config => nuget.config | 0 3 files changed, 5 insertions(+), 5 deletions(-) rename build/nuget.config => nuget.config (100%) diff --git a/.github/workflows/actions-pr.yml b/.github/workflows/actions-pr.yml index b9b6a4b..c42c6e0 100644 --- a/.github/workflows/actions-pr.yml +++ b/.github/workflows/actions-pr.yml @@ -31,7 +31,7 @@ jobs: global-json-file: global.json - name: Restore dependencies - run: dotnet restore + run: dotnet restore --source https://api.nuget.org/v3/index.json - name: Build run: dotnet build --no-restore --configuration ${{ env.BUILD_CONFIGURATION }} ${{ env.PROJECT_PATH }} diff --git a/build.yml b/build.yml index c681a5b..b7a8455 100644 --- a/build.yml +++ b/build.yml @@ -19,14 +19,14 @@ steps: command: 'restore' projects: 'VSConfigFinder' feedsToUse: 'config' - nugetConfigPath: '$(Build.SourcesDirectory)\build\nuget.config' + nugetConfigPath: '$(Build.SourcesDirectory)\nuget.config' - task: DotNetCoreCLI@2 displayName: Build inputs: command: 'build' projects: 'VSConfigFinder' - arguments: '--configuration $(BuildConfiguration) --no-restore --configfile $(Build.SourcesDirectory)\build\nuget.config' + arguments: '--configuration $(BuildConfiguration) --no-restore --configfile $(Build.SourcesDirectory)\nuget.config' - task: DotNetCoreCLI@2 displayName: Restore Test @@ -34,14 +34,14 @@ steps: command: 'restore' projects: 'VSConfigFinder.Test' feedsToUse: 'config' - nugetConfigPath: '$(Build.SourcesDirectory)\build\nuget.config' + nugetConfigPath: '$(Build.SourcesDirectory)\nuget.config' - task: DotNetCoreCLI@2 displayName: Test inputs: command: 'test' projects: 'VSConfigFinder.Test' - arguments: '--configuration $(BuildConfiguration) --no-restore -p:RestoreConfigFile=$(Build.SourcesDirectory)\build\nuget.config' + arguments: '--configuration $(BuildConfiguration) --no-restore -p:RestoreConfigFile=$(Build.SourcesDirectory)\nuget.config' - task: DotNetCoreCLI@2 displayName: Publish diff --git a/build/nuget.config b/nuget.config similarity index 100% rename from build/nuget.config rename to nuget.config