Skip to content

refactor: move gate-check to consuming repos - #179

Merged
madhur310 merged 2 commits into
mainfrom
ms/caller-call-ci-status-check
Aug 27, 2026
Merged

refactor: move gate-check to consuming repos#179
madhur310 merged 2 commits into
mainfrom
ms/caller-call-ci-status-check

Conversation

@madhur310

Copy link
Copy Markdown
Contributor

Prevent inversion of control by having consuming repos implement gate-check before calling shared promote workflow.

Changes:

  • Add vscode-find-nightly-candidate.yml (reusable workflow to find nightlies)
  • Simplify vscode-promote-prerelease.yml (publishing-only):
    • Remove find-nightly-candidate job (callers use vscode-find-nightly-candidate.yml)
    • Remove quality-gate job (callers use check-ci-status action inline)
    • Remove min-tag-age-days and required-ci-checks inputs
    • Make release-tag required (callers provide it)

Pattern: Consuming repos now:

  1. Call vscode-find-nightly-candidate.yml to find tag
  2. Call check-ci-status action inline to validate CI (repo controls criteria)
  3. Call vscode-promote-prerelease.yml to publish (publishing-only)

Benefits:

  • Each repo controls its own promotion criteria
  • Shared workflows provide tools, not decisions
  • Gate-check visible in consuming repo's Actions UI

Prevent inversion of control by having consuming repos implement
gate-check before calling shared promote workflow.

Changes:
- Add vscode-find-nightly-candidate.yml (reusable workflow to find nightlies)
- Simplify vscode-promote-prerelease.yml (publishing-only):
  - Remove find-nightly-candidate job (callers use vscode-find-nightly-candidate.yml)
  - Remove quality-gate job (callers use check-ci-status action inline)
  - Remove min-tag-age-days and required-ci-checks inputs
  - Make release-tag required (callers provide it)

Pattern: Consuming repos now:
1. Call vscode-find-nightly-candidate.yml to find tag
2. Call check-ci-status action inline to validate CI (repo controls criteria)
3. Call vscode-promote-prerelease.yml to publish (publishing-only)

Benefits:
- Each repo controls its own promotion criteria
- Shared workflows provide tools, not decisions
- Gate-check visible in consuming repo's Actions UI

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
@madhur310
madhur310 requested a review from peternhale August 26, 2026 18:15
nightly-tag: ${{ steps.find.outputs.nightly-tag }}
steps:
- name: Checkout
uses: actions/checkout@v6

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.

does it need to specify which repo it's checking out? If it's the "calling" repo, does it need to receive a valid token for that (ex: in the case of a private repo) ?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Good question, I double checked and dry run indeed pulled the correct repo (caller). Since the callers today are not private I think it should be fine as it is for now. Will comment for posterity.

@mshanemc mshanemc 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.

approved, with questions. Might work but then not depending on the consumer.

Add comment noting that actions/checkout in reusable workflows checks out the calling repository and may need explicit token for private repos.

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
@madhur310
madhur310 merged commit ae02dde into main Aug 27, 2026
2 checks passed
madhur310 added a commit to forcedotcom/salesforcedx-vscode that referenced this pull request Aug 27, 2026
Update references from @ms/caller-call-ci-status-check to @main now
that salesforcecli/github-workflows#179
has been merged.

Changes:
- vscode-find-nightly-candidate.yml@main
- check-ci-status@main
- vscode-promote-nightly-to-prerelease.yml@main

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.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.

2 participants