From ffb859f41aec3121b11401265b36951902e63aa2 Mon Sep 17 00:00:00 2001 From: JP-Ellis Date: Thu, 15 Oct 2026 08:12:24 +1100 Subject: [PATCH 1/2] fix(cli): use renamed macOS standalone assets From 2.6.1 onwards, pact-standalone publishes its macOS archives as `pact-{version}-macos-{arch}.tar.gz` (previously `osx`). Its release notes still show the old name. The release build for 2.6.4.0 therefore downloads a URL that 404s on both macOS runners. Builds of 2.6.0.1 on macOS will fail until the 2.6.4.0 release bumps the version; this change only needs to hold for that release, the last to bundle the Ruby standalone. Assisted-by: Claude Code:claude-opus-5-5 --- pact-python-cli/hatch_build.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pact-python-cli/hatch_build.py b/pact-python-cli/hatch_build.py index 3128b17be..a99b33a07 100644 --- a/pact-python-cli/hatch_build.py +++ b/pact-python-cli/hatch_build.py @@ -205,7 +205,7 @@ def _pact_ruby_bin_url(self, version: str) -> str: platform = self._sys_tag_platform() if platform.startswith("macosx"): - os_name = "osx" + os_name = "macos" ext = "tar.gz" elif "linux" in platform: os_name = "linux" From 4fd1e8c35f6aaaa307b429eeb2178b5fde262614 Mon Sep 17 00:00:00 2001 From: JP-Ellis Date: Thu, 15 Oct 2026 09:06:58 +1100 Subject: [PATCH 2/2] fixup! fix(cli): use renamed macOS standalone assets Assisted-by: Claude Code:claude-opus-5-5 --- pact-python-cli/hatch_build.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/pact-python-cli/hatch_build.py b/pact-python-cli/hatch_build.py index a99b33a07..72c75de82 100644 --- a/pact-python-cli/hatch_build.py +++ b/pact-python-cli/hatch_build.py @@ -22,6 +22,7 @@ from hatchling.builders.config import BuilderConfig from hatchling.builders.hooks.plugin.interface import BuildHookInterface from packaging.tags import sys_tags +from packaging.version import Version PKG_DIR = Path(__file__).parent.resolve() / "src" / "pact_cli" @@ -205,7 +206,8 @@ def _pact_ruby_bin_url(self, version: str) -> str: platform = self._sys_tag_platform() if platform.startswith("macosx"): - os_name = "macos" + # Upstream renamed the macOS assets from `osx` to `macos` in 2.6.1. + os_name = "macos" if Version(version) >= Version("2.6.1") else "osx" ext = "tar.gz" elif "linux" in platform: os_name = "linux"