Skip to content

feat: bootstrap setup-cli composite action#1

Merged
sileht merged 1 commit into
mainfrom
bootstrap-setup-cli-action
Jun 12, 2026
Merged

feat: bootstrap setup-cli composite action#1
sileht merged 1 commit into
mainfrom
bootstrap-setup-cli-action

Conversation

@sileht

@sileht sileht commented Jun 12, 2026

Copy link
Copy Markdown
Member

Bootstraps Mergifyio/setup-cli (MRGFY-7628, Phase 1): a composite action that installs the Mergify CLI with version pinning + Renovate autoupdate, extracted from gha-mergify-ci's install steps.

What's in it

  • action.yml: setup-pythonsetup-uvuv tool install mergify-cli with the same pinned-default / latest / empty logic as gha-mergify-ci. Inputs: mergify_cli_version (default 2026.6.8.1, # renovate: anchored), python_version (default 3.14). Output mergify_cli_version = the resolved installed version, read from uv tool list (not mergify --version, which can print a placeholder while versioning goes Rust-native).
  • renovate.json: mirrors gha-mergify-ci. Custom managers bump the action.yml default, sync the README inputs table, and bump the self-referenced @vN example. minimumReleaseAge: 0 rule for our own major.
  • generate-doc.py / .sh: regenerate the README inputs table from action.yml; CI fails on drift.
  • ci.yaml: actionlint + yamllint + semgrep, autodoc sync check, and a dogfood job that runs ./ (pinned and latest) and asserts the output + mergify --version. all-greens gate via re-actors/alls-green.
  • release.yml, .yamllint.yml: mirrored.

Landing notes

This repo has no Mergify app / merge queue yet, so the usual mergify stack push flow does not apply. Normal flow: review → merge → I cut v1.0.0 + the moving v1 alias + a GitHub release so consumers can uses: Mergifyio/setup-cli@v1.

Kept as a draft for your review before undrafting / cutting v1.

Fixes MRGFY-7628

🤖 Generated with Claude Code

Install the Mergify CLI (mergify-cli) with version pinning and Renovate
autoupdate, extracted from gha-mergify-ci's install steps.

- action.yml: setup-python -> setup-uv -> uv tool install mergify-cli
  (pinned default, `latest`/empty supported), exposes the resolved
  installed version as the `mergify_cli_version` output (read from
  `uv tool list`, since `mergify --version` may print a placeholder).
- renovate.json: config:best-practices + chore semantic commits, pypi
  minimumReleaseAge for mergify-cli, custom managers that bump the
  `# renovate:` default in action.yml and keep the README inputs table
  and the self-referenced `@vN` usage example in sync.
- generate-doc.py/.sh: auto-generate the README inputs table from
  action.yml; CI fails if it drifts.
- ci.yaml: actionlint + yamllint + semgrep, autodoc sync check, and a
  dogfood job that runs `./` (pinned and `latest`) and asserts the
  output + `mergify --version`.
- release.yml, .yamllint.yml mirrored from gha-mergify-ci.

Fixes MRGFY-7628

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@sileht sileht marked this pull request as ready for review June 12, 2026 12:31
@sileht sileht merged commit 2440cd0 into main Jun 12, 2026
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

1 participant