From a29a55aa1d8e6120efdedcd61c05c1ee5239b196 Mon Sep 17 00:00:00 2001 From: Tim Mulholland Date: Wed, 24 Jun 2026 13:23:42 -0700 Subject: [PATCH 1/2] Fix symbol-publish gate in build-all-lib.yml to branch allowlist The two symbol-publishing steps were gated on a refs/tags/v* condition, but this pipeline is queued manually against a release branch HEAD rather than via tag push, so the condition never matched and symbols were never published. Switch to the branch allowlist used by build-core-lib.yml (main/dev/dev-v5/archives/*), OR-ing in the tag check to keep the declared trigger path covered. Follow-up to #4910. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- eng/pipelines/build-all-lib.yml | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/eng/pipelines/build-all-lib.yml b/eng/pipelines/build-all-lib.yml index d170d8c917..2104d5893b 100644 --- a/eng/pipelines/build-all-lib.yml +++ b/eng/pipelines/build-all-lib.yml @@ -182,11 +182,12 @@ extends: # Stage shipping binaries for symbol upload BEFORE the test step; # see publish-symbols-stage.yml for why this must run pre-test. - # Pipeline only triggers on v* tags, but condition is explicit so - # a manual queue against a branch does not unintentionally upload. + # Releases are cut by manually queueing this pipeline against a release + # branch HEAD, so gate on the branch allowlist (consistent with + # build-core-lib.yml); the tag check covers the declared trigger. - template: /eng/pipelines/publish-symbols-stage.yml@self parameters: - condition: and(succeeded(), startsWith(variables['Build.SourceBranch'], 'refs/tags/v')) + condition: and(succeeded(), or(in(variables['Build.SourceBranch'], 'refs/heads/main', 'refs/heads/dev', 'refs/heads/dev-v5'), startsWith(variables['Build.SourceBranch'], 'refs/heads/archives/'), startsWith(variables['Build.SourceBranch'], 'refs/tags/v'))) # Test and generate Code Coverage - task: DotNetCoreCLI@2 @@ -225,7 +226,7 @@ extends: - template: /eng/pipelines/publish-symbols-upload.yml@self parameters: - condition: and(succeeded(), startsWith(variables['Build.SourceBranch'], 'refs/tags/v')) + condition: and(succeeded(), or(in(variables['Build.SourceBranch'], 'refs/heads/main', 'refs/heads/dev', 'refs/heads/dev-v5'), startsWith(variables['Build.SourceBranch'], 'refs/heads/archives/'), startsWith(variables['Build.SourceBranch'], 'refs/tags/v'))) # Since NuGet packages are generated during the build, we need to copy them to the artifacts folder. - task: CopyFiles@2 From 2872cf00d0f3e445544b4e8141b9a42d5c160f67 Mon Sep 17 00:00:00 2001 From: Tim Mulholland Date: Wed, 24 Jun 2026 13:25:33 -0700 Subject: [PATCH 2/2] Clarify symbol-publish comment in build-all-lib.yml Reword the inline comment to accurately describe that symbols publish from the branches we ship from (main/dev/dev-v5/archives/*), whether the run is queued manually or via the declared tag trigger. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- eng/pipelines/build-all-lib.yml | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/eng/pipelines/build-all-lib.yml b/eng/pipelines/build-all-lib.yml index 2104d5893b..404c85543a 100644 --- a/eng/pipelines/build-all-lib.yml +++ b/eng/pipelines/build-all-lib.yml @@ -182,9 +182,8 @@ extends: # Stage shipping binaries for symbol upload BEFORE the test step; # see publish-symbols-stage.yml for why this must run pre-test. - # Releases are cut by manually queueing this pipeline against a release - # branch HEAD, so gate on the branch allowlist (consistent with - # build-core-lib.yml); the tag check covers the declared trigger. + # Symbols publish from the branches we ship from (main/dev/dev-v5/archives/*), + # whether the run is queued manually or via the declared tag trigger. - template: /eng/pipelines/publish-symbols-stage.yml@self parameters: condition: and(succeeded(), or(in(variables['Build.SourceBranch'], 'refs/heads/main', 'refs/heads/dev', 'refs/heads/dev-v5'), startsWith(variables['Build.SourceBranch'], 'refs/heads/archives/'), startsWith(variables['Build.SourceBranch'], 'refs/tags/v')))