You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
feat: install mergify-cli from prebuilt release binaries
Replace the Python + uv install path (`uv tool install mergify-cli`) with a
direct download of the prebuilt `mergify` binary from the mergify-cli GitHub
release, verified against the release `SHA256SUMS`.
Why direct asset download over the official `curl|sh` installer:
- Reproducible, pinned CI installs without piping an unpinned `main` HEAD
script into a shell.
- The official `install.sh` only supports Linux/Darwin (it dies on Windows)
and resolves `latest` via `api.github.com`, which is rate-limited on shared
CI IPs. We support all five shipped targets and resolve `latest` via a plain
github.com redirect (no API, no token).
Details:
- Map RUNNER_OS/RUNNER_ARCH to the Rust target triple, download the
`mergify-<version>-<target>.{tar.gz,zip}` asset, fail-closed checksum verify
(exact-match + malformed-line guard, mirroring install.sh), extract, install
to $RUNNER_TEMP and add to $GITHUB_PATH.
- The `mergify_cli_version` output is read back from `mergify --version` (the
binary now reports its real version), accurate for both pinned and `latest`.
- Default bumped to 2026.6.16.1: the first release using the canonical
versioned asset naming enforced by mergify-cli's release workflow. The
transitional 2026.6.15.1 used a non-versioned name and is not pinnable.
- Renovate datasource moved pypi -> github-releases (Mergifyio/mergify-cli,
pep440).
- CI test-install is now a 5-OS matrix, one runner per target triple.
BREAKING CHANGE: the `python_version` input is removed (no Python is used) and
the action no longer provisions Python/uv on PATH as a side effect.
Fixes MRGFY-7660
Change-Id: If70ad03ddf01ec196f051fef6489b68904d02b20
| `mergify_cli_version` | string | false | `2026.6.8.1` | Version of mergify-cli to install. Use `latest` to install the latest released version without pinning. |
39
-
| `python_version` | string | false | `3.14` | Python version to set up for the install (passed to actions/setup-python). |
40
+
| `mergify_cli_version` | string | false | `2026.6.16.1` | Version of mergify-cli to install. Use `latest` to install the latest released version without pinning. |
40
41
41
42
<!-- AUTO-DOC-INPUT:END -->
42
43
43
44
## Outputs
44
45
45
46
| Output | Description |
46
47
| --- | --- |
47
-
| `mergify_cli_version` | The `mergify-cli` version that was installed. Resolved from the installed package metadata, so it reflects the real version even when `latest` or an empty input was requested. |
48
+
| `mergify_cli_version` | The `mergify-cli` version that was installed. Read back from the installed binary, so it reflects the real version even when `latest` or an empty input was requested. |
0 commit comments