Skip to content

Skip API review validation for C++ partner-feed releases - #7530

Closed
JinmingHu (Jinming-Hu) wants to merge 2 commits into
Azure:mainfrom
Jinming-Hu:ci/partner-feed-api-review-exception
Closed

JinmingHu (Jinming-Hu) wants to merge 2 commits into
Azure:mainfrom
Jinming-Hu:ci/partner-feed-api-review-exception

Conversation

@Jinming-Hu

@Jinming-Hu JinmingHu (Jinming-Hu) commented Nov 6, 2026 •

Copy link
Copy Markdown
Member

Allow C++ partner-feed releases to omit API-review creation/validation when PublishToVcpkgPartnerFeed=true, while preserving the existing API-review conditions for normal releases.

Storage partner run 7044829 passed builds and live tests, but failed PrePublishBuild because the stable partner package versions require GA API approval. All five release stages were subsequently skipped. This PR proposes an explicit partner-feed policy exception for owner review.

The C++ job wraps only the existing API-review template in a C++-local step-list template. Its runtime condition checks the queue-time partner-feed variable and preserves each step's original condition (or the default succeeded()). Compilation, tests, artifact generation, and other validation remain blocking. No eng/common files, requester allowlists, or release approval gates are changed.

The helper is named skip-steps-for-partner-feed.yml to describe its generic step-list behavior, addressing the review feedback about its original partner/API-review-specific filename. The rename does not change its contents or runtime behavior.

Alternative for comparison

Compare with #7536, an independent parameter-based proposal from main. That version uses a boolean YAML parameter, direct compile-time API-review exclusion, and no new helper YAML file; it changes the Storage queueing interface and adds parameter plumbing through the existing templates. This PR preserves the current queue-time variable interface for C++ partner releases. Choose one proposal rather than merging both.

Validation:

  • git diff --check: passed.
  • Local Python/PyYAML checks: both YAML files parse; the original API template and arguments are unchanged; all other job content is unchanged.
  • Local emitted-condition checks: passed for true, TRUE, false, empty, and unset partner-feed values, with both passing and failing original conditions.
  • Rename checks: passed; helper YAML is structurally identical, and the job template differs from its previous revision only in the helper path.
  • Azure server-side YAML preview: blocked because the current identity lacks EditBuild permission for previewing modified YAML. Server-side template expansion and execution remain for CI verification.
  • No C++ build or unit tests run for this YAML-only change. Local checks do not replace Azure pipeline validation.

This PR does not modify the existing partner-release branch/tag, retry the failed run, or approve publication. After review and integration, a partner release using the change needs an updated source commit, a new retention tag, and a fresh run.

Pull Request Checklist

Please leverage this checklist as a reminder to address commonly occurring feedback when submitting a pull request to make sure your PR can be reviewed quickly:

See the detailed list in the contributing guide.

  • C++ Guidelines
  • Doxygen docs
  • Unit tests
  • No unwanted commits/changes
  • Descriptive title/description
    • PR is single purpose
    • Related issue listed
  • Comments in source
  • No typos
  • Update changelog
  • Not work-in-progress
  • External references or docs updated
  • Self review of PR done
  • Any breaking changes?

Guard only the API-review steps at runtime when PublishToVcpkgPartnerFeed=true, preserving existing conditions for normal releases and all other validation.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines:
Successfully started running 2 pipeline(s).
8 pipeline(s) were filtered out due to trigger conditions.
There may be pipelines that require an authorized user to comment /azp run to run.

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🔵 Needs a closer look

The partner-feed API-approval exception requires release-owner policy approval, while Azure server-side expansion and execution of the nested stepList wrapper remain unverified because YAML preview was blocked.

No open issues 🎉

What changed in this PR

Adds a C++-local pipeline exception to skip API-review creation and validation for partner-feed releases without changing shared pipeline templates or release approval gates.

Changes:

  • Wraps API-review steps with a runtime check for PublishToVcpkgPartnerFeed=true.
  • Preserves each step’s original condition, defaulting to succeeded(), for normal releases.
  • Keeps the existing API-review template arguments and other validation unchanged.

Server-side template expansion and execution remain to be verified in CI.

File Description
eng/​pipelines/​templates/​steps/​partner-feed-api-review.yml Adds the conditional wrapper for API-review steps.
eng/​pipelines/​templates/​jobs/​archetype-sdk-client.yml Routes the existing API-review template through the wrapper.

Review effort: Balanced

antkmsft

This comment was marked as outdated.

Rename the generic runtime helper to skip-steps-for-partner-feed.yml without changing its content or behavior.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@Jinming-Hu
JinmingHu (Jinming-Hu) deleted the ci/partner-feed-api-review-exception branch November 7, 2026 04:57
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants