Skip to content

Restructure release skill into ordered phases with verification gates#5500

Merged
andyleejordan merged 1 commit into
mainfrom
skill/release-phases
May 18, 2026
Merged

Restructure release skill into ordered phases with verification gates#5500
andyleejordan merged 1 commit into
mainfrom
skill/release-phases

Conversation

@andyleejordan
Copy link
Copy Markdown
Member

Reorganizes .github/skills/release/SKILL.md so the release automation has an
explicit dependency chain and the gates between phases can't be skipped.

Highlights

  • 5 phases (Prep, GitHub PRs, ADO mirror, Signed pipelines, Publish) so
    each step's prerequisites are obvious.
  • New verification gates:
    • git log -1 --format=%s after pulling main confirms the release commit
      landed before pushing to ADO.
    • Wait for ADO PR status=completed before queuing the signed pipelines —
      phase 4 builds against refs/heads/main and would silently produce the
      wrong version if the upstream→main PRs hadn't merged.
  • Phase 4 split into separate steps for PSES and vscode-powershell so the
    agent surfaces each pipeline's manual approval stage.
  • Corrected publish flow: the vscode-powershell pipeline pushes to the VS
    Code marketplace directly after approval; only the GitHub drafts still need a
    manual publish, populated via
    gh release edit <tag> --repo <owner>/<repo> --generate-notes.
  • Memory references (release infrastructure, release maintainers) keep
    org/project IDs and reviewer/approver identities out of the repo.
  • Trimmed redundant rationale wherever the command itself already encodes
    the fix.

Drafted by Copilot (Claude Opus 4.7).

- Group the 12 steps into 5 phases (Prep, GitHub PRs, ADO mirror, Signed
  pipelines, Publish) so the dependency chain is explicit
- Verify the release commit landed (`git log -1 --format=%s`) before pushing
  to ADO, and wait for ADO PR `status=completed` before queuing pipelines --
  phase 4 builds against `refs/heads/main` and would silently produce the
  wrong version if either gate were skipped
- Split phase 4 into separate steps for PSES and vscode-powershell so the
  agent can notify me when each pipeline hits its manual approval stage
- Drop the old "publishing the tag triggers marketplace" line: the
  vscode-powershell pipeline pushes to marketplace directly after approval,
  only the GitHub drafts need a manual publish
- Use `gh release edit <tag> --repo <owner>/<repo> --generate-notes` to
  populate draft release bodies
- Reference `release infrastructure` and `release maintainers` memory
  entries so private contacts stay out of the repo
- Drop redundant rationale where the command itself already encodes the fix

Drafted by Copilot (Claude Opus 4.7).
Copilot AI review requested due to automatic review settings May 18, 2026 18:29
@andyleejordan andyleejordan requested a review from a team as a code owner May 18, 2026 18:29
@andyleejordan andyleejordan enabled auto-merge (squash) May 18, 2026 18:30
Copy link
Copy Markdown

Copilot AI left a comment

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 refactors the release skill documentation (.github/skills/release/SKILL.md) into explicit, ordered phases with verification gates to help an automation agent follow the intended dependency chain and avoid skipping critical steps.

Changes:

  • Reorganized the release workflow into 5 phases (Prep → GitHub PRs → ADO mirror → Signed pipelines → Publish).
  • Added explicit gating/verification checks before mirroring to Azure DevOps and before queuing signed pipelines.
  • Updated the publish flow guidance to reflect that the marketplace publish occurs via the signed pipeline, with GitHub Releases remaining manual to publish.

3. **Run `updateVersion.ps1`** in PSES first, then vscode-powershell:

```sh
git checkout -B release
Comment on lines +40 to +45
4. **Push and open PRs.** `git push origin release`, then open a PR to `main` via the
GitHub MCP `create_pull_request` tool. Title is the commit subject
(`v<version>: <summary>`). DM the GitHub PR reviewer on Teams with both PR links.
5. **Enable auto-squash-merge** on both PRs:
`gh pr merge --repo <owner>/<repo> <number> --squash --auto`.
6. **Wait for both PRs to merge** (`gh pr view ... --json state,statusCheckRollup`).
Comment on lines +50 to +56
7. **Sync `main` and push to ADO `upstream`** in both repos (PSES first). The verify
step must print the release commit subject (`v<version>: <summary>`); if it doesn't,
the PR hasn't merged yet — stop and wait.

```sh
git checkout main && git pull --ff-only origin main
git log -1 --format=%s
Comment on lines +86 to +93
10. **Queue the PSES pipeline** on `refs/heads/main` with template parameters
`Release=True OfficialBuild=True`. Notify the user when it reaches the approval
stage, then wait for `result == succeeded`. On success the pipeline creates a
draft GitHub Release in PSES.
11. **Queue the vscode-powershell pipeline** the same way. Notify the user at its
approval stage. On success the pipeline creates a draft GitHub Release in
vscode-powershell _and_ publishes the extension to the VS Code marketplace.

@andyleejordan andyleejordan merged commit 03595aa into main May 18, 2026
9 checks passed
@andyleejordan andyleejordan deleted the skill/release-phases branch May 18, 2026 18:34
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