releasing

Builds, publishes, and verifies mergify CLI releases via the GitHub Actions release workflow.

32|11|Updated May 17, 2021
One-click install
npx skills add https://github.com/Mergifyio/mergify-cli --skill releasing-mergifyio
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: releasing
Source: https://github.com/Mergifyio/mergify-cli/tree/main/.claude/skills/releasing
Command: npx skills add https://github.com/Mergifyio/mergify-cli --skill releasing-mergifyio

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Releasing the mergify CLI involves a strict two-stage GitHub Actions workflow with immutable releases, a seven-asset requirement, and downstream PyPI and Homebrew propagation — doing any step by hand (or in the wrong order) can permanently block a version. This Skill encodes the exact guarded procedure so releases ship correctly and failed runs can be recovered safely. ## Core Features & Use Cases - Two-stage release orchestration: Stage 1 triggers release.yml to build the five-target binary matrix, archives, SHA256SUMS, and a draft release; Stage 2 publishes the draft, which pushes to PyPI via Trusted Publishing. - Guardrails and verification: Enforces pre-flight checks (green CI on main, no leftover drafts), asserts the draft carries exactly seven assets, and verifies PyPI version and the Homebrew tap PR after publishing. - Failure recovery runbook: Provides a symptom-to-fix table covering failed builds, missing assets, immutable-release traps, and PyPI publish outages. - Use Case: You are asked to cut a new version of mergify CLI. The Skill runs pre-flight checks, triggers the workflow, watches the build, hands you the draft URL for approval, then publishes and confirms PyPI and the Homebrew tap picked it up. ## Quick Start Ask the assistant to cut a new release of mergify CLI and it will run the pre-flight checks, trigger the release workflow, and report the draft release URL for your approval before publishing.

Frequently Asked Questions about releasing

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I cut a new release of mergify CLI?

Run pre-flight checks (green CI on main, no leftover drafts), then trigger the release with `gh workflow run release.yml`, which auto-picks the next calver version. The workflow builds the binaries and creates a draft release for review before publishing.

How do I publish a mergify CLI draft release to PyPI?

Publish the draft with `gh release edit <tag> --draft=false --latest` after explicit approval. This re-asserts the seven assets, rebuilds the wheels with the same version stamp, and pushes to PyPI via Trusted Publishing.

Can I create a mergify release manually with gh release create?

No. A release created outside the workflow has no binaries, and once published it is immutable, permanently blocking the PyPI publish for that version. Always use the release.yml workflow instead.

What assets must a mergify CLI release contain?

Exactly seven assets: five platform archives (Linux x86_64 and aarch64, macOS x86_64 and aarch64, Windows x86_64 zip), plus SHA256SUMS and cli-schema.json. If any are missing, delete the draft and re-run the workflow rather than backfilling by hand.

What do I do when the PyPI publish step fails?

For transient failures or outages, re-run just the failed job with `gh run rerun <run-id> --failed` since the wheels are already built. If a wrong version reached PyPI, ship the next calver N because PyPI versions cannot be reused or overwritten.

Does the Homebrew formula update automatically after a release?

Yes. The homebrew-tap-sync workflow opens a PR against Mergifyio/homebrew-tap within about 20 minutes of publish, updating RELEASE and the four per-arch checksums from SHA256SUMS. A human still needs to merge that PR.