Skip to content

feat(gh-cli): publish dependency draft releases - #173

Merged
joshjohanning merged 12 commits into
joshjohanning-urban-winnerfrom
joshjohanning-dependency-release-automation
Aug 31, 2026
Merged

feat(gh-cli): publish dependency draft releases#173
joshjohanning merged 12 commits into
joshjohanning-urban-winnerfrom
joshjohanning-dependency-release-automation

Conversation

@joshjohanning

Copy link
Copy Markdown
Owner

Summary

  • automatically record immediate dependency PR merges in an ignored release manifest
  • add a guarded script that publishes only the unique draft release containing the recorded merge commit
  • document the two-step merge and release workflow

Stack

Depends on #172.

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

Copilot-Session: bed3e0ff-d6c7-426a-8591-4c4b8e74705c
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

Copilot-Session: 14d24b4b-af6d-42d0-8743-bbda5d4767a8
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

Copilot-Session: 14d24b4b-af6d-42d0-8743-bbda5d4767a8
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

Copilot-Session: 14d24b4b-af6d-42d0-8743-bbda5d4767a8
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

Copilot-Session: 14d24b4b-af6d-42d0-8743-bbda5d4767a8
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

Copilot-Session: 14d24b4b-af6d-42d0-8743-bbda5d4767a8
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

Copilot-Session: 14d24b4b-af6d-42d0-8743-bbda5d4767a8

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.

Copilot review overview

🟡 Changes recommended

The new publish/manifest workflow has failure and race-handling gaps (plus README ordering issues) that can lead to incomplete or misleading results.

Once you've addressed the issues Copilot identified, you can request another Copilot review.

Review tier: Lite
Findings: 3 Medium severity · 2 Low severity

New issues introduced by this change (5)
Severity Finding
Low severity gh-cli/​README.md — This new script entry is out of alphabetical order in the gh-cli README. Other delete-* scripts…
Low severity gh-cli/​README.md — This new script entry appears before parent-organization-teams.sh, but the README script list is…
Medium severity gh-cli/​merge-pull-requests-by-title.sh — If the PR merge succeeds but the follow-up gh api call fails here, the script continues and…
Medium severity gh-cli/​publish-draft-releases.sh — Release listing errors are currently silenced (2&gt;/dev/null) and the script will treat failures…
Medium severity gh-cli/​publish-draft-releases.sh — Before publishing, the script should re-verify the release is still the same draft (and still a…
What changed in this PR

Adds a manifest-driven workflow to safely manage draft releases produced by intermediate dependency PR merges in gh-cli, including tooling to publish the correct draft and to clean up intermediate drafts.

Changes:

  • Record immediate merges from merge-pull-requests-by-title.sh into an ignored .release-manifests/latest.json
  • Add publish-draft-releases.sh to publish the single matching draft release per manifest entry
  • Add delete-draft-releases.sh to delete intermediate drafts with optional max-age guarding, and document the workflow
File Description
gh-cli/​README.md Documents the new draft-release publish/delete workflow and notes manifest behavior for immediate merges
gh-cli/​publish-draft-releases.sh Publishes a uniquely-matching draft release that contains the recorded merge commit
gh-cli/​merge-pull-requests-by-title.sh Writes .release-manifests/latest.json for immediate merges (when not dry-run/auto-merge/version-bump)
gh-cli/​delete-draft-releases.sh Deletes uniquely-matching intermediate draft releases with optional max-age safety guard
.gitignore Ignores .release-manifests/ output directory

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Comment thread gh-cli/README.md Outdated
Comment thread gh-cli/README.md Outdated
Comment thread gh-cli/merge-pull-requests-by-title.sh
Comment thread gh-cli/publish-draft-releases.sh
Comment thread gh-cli/publish-draft-releases.sh
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

Copilot-Session: 14d24b4b-af6d-42d0-8743-bbda5d4767a8
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

Copilot-Session: 14d24b4b-af6d-42d0-8743-bbda5d4767a8
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

Copilot-Session: 14d24b4b-af6d-42d0-8743-bbda5d4767a8
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

Copilot-Session: 14d24b4b-af6d-42d0-8743-bbda5d4767a8
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

Copilot-Session: 14d24b4b-af6d-42d0-8743-bbda5d4767a8
@joshjohanning
joshjohanning merged commit 30e798d into main Aug 31, 2026
6 checks passed
@joshjohanning
joshjohanning deleted the joshjohanning-dependency-release-automation branch August 31, 2026 18:31
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