Skip to content

Support no-op for PR pipeline#47578

Open
raych1 wants to merge 3 commits into
mainfrom
users/raych1/support-no-op-4-pr-pipeline
Open

Support no-op for PR pipeline#47578
raych1 wants to merge 3 commits into
mainfrom
users/raych1/support-no-op-4-pr-pipeline

Conversation

@raych1

@raych1 raych1 commented Jun 19, 2026

Copy link
Copy Markdown
Member

Description

  • Adds a manual-run SkipPrValidation parameter to the PR pipeline.
  • Passes the flag to the archetype SDK client template.
  • Runs only a NoOp stage for manual PR validation runs when SkipPrValidation is true, leaving normal PR/CI behavior unchanged.

Validation

  • Parsed changed YAML files with PyYAML.
  • Ran eng/common/scripts/Verify-Resource-Ref.ps1.
  • Ran git diff --check.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot AI review requested due to automatic review settings June 19, 2026 19:23

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.

Pull request overview

This PR adds an opt-in SkipPrValidation parameter to the Python PR pipeline so that a manually-queued run can short-circuit normal PR/CI validation and execute only a lightweight no-op stage. This is useful for forcing a pipeline run (e.g., to refresh required-check status) without paying the cost of full validation. Automatic, PR-triggered runs are unaffected because the skip is additionally gated on Build.Reason == 'Manual'.

Changes:

  • Adds a SkipPrValidation boolean parameter (default false) to both pullrequest.yml and the archetype-sdk-client.yml template, threading it through.
  • Conditionally inserts a NoOp stage (compile-time) and skips the Build stage (runtime condition) / release template (compile-time) when SkipPrValidation is true on a manual run.

Reviewed changes

Copilot reviewed 2 out of 2 changed files in this pull request and generated 1 comment.

File Description
eng/pipelines/pullrequest.yml Declares the new SkipPrValidation parameter and forwards it to the archetype template.
eng/pipelines/templates/stages/archetype-sdk-client.yml Accepts SkipPrValidation, adds a NoOp stage, and gates the Build stage and release template on the skip condition.

Notes from review:

  • I verified variables['Build.Reason'] is valid in compile-time ${{ if }} expressions here (widely used, e.g. check-spelling.yml:37, archetype-python-release.yml:356) and that the runtime eq(${{ parameters.<bool> }}, true) pattern has precedent (docindex.yml:122), so the change is functionally correct across the manual-skip, manual-normal, and PR-triggered cases.
  • One non-blocking nit: the Build gate uses a runtime condition: while the NoOp and release gates use compile-time ${{ if }}; unifying them would fully omit Build (rather than showing it as skipped) and keep the three identical conditions consistent.

Comment thread eng/pipelines/templates/stages/archetype-sdk-client.yml
raych1 and others added 2 commits June 19, 2026 12:42
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
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