From c4ca52009621a8246edd1192b74c1fb33e04b06e Mon Sep 17 00:00:00 2001 From: Dmitriy Derepko Date: Sat, 21 Mar 2026 18:27:20 +0400 Subject: [PATCH] feat: support macos operation system --- src/Module/Common/OperatingSystem.php | 4 ++-- tests/Unit/Module/Common/ArchitectureTest.php | 1 + tests/Unit/Module/Common/OperatingSystemTest.php | 1 + 3 files changed, 4 insertions(+), 2 deletions(-) diff --git a/src/Module/Common/OperatingSystem.php b/src/Module/Common/OperatingSystem.php index d2298f0..e18ede0 100644 --- a/src/Module/Common/OperatingSystem.php +++ b/src/Module/Common/OperatingSystem.php @@ -49,7 +49,7 @@ public static function tryFromString(string $name): ?self return match (\strtolower($name)) { 'windows', 'win32', 'win64' => self::Windows, 'bsd', 'freebsd' => self::BSD, - 'darwin' => self::Darwin, + 'darwin', 'macos' => self::Darwin, 'linux' => \str_contains(\PHP_OS, 'alpine') ? self::Alpine : self::Linux, @@ -60,7 +60,7 @@ public static function tryFromString(string $name): ?self public static function tryFromBuildName(string $name): ?self { return \preg_match( - '/(?:\b|_)(windows|linux|darwin|alpine|bsd|freebsd|win32|win64)(?:\b|_)/i', + '/(?:\b|_)(windows|linux|darwin|macos|alpine|bsd|freebsd|win32|win64)(?:\b|_)/i', $name, $matches, ) === 1 diff --git a/tests/Unit/Module/Common/ArchitectureTest.php b/tests/Unit/Module/Common/ArchitectureTest.php index f79cf92..93ccfd9 100644 --- a/tests/Unit/Module/Common/ArchitectureTest.php +++ b/tests/Unit/Module/Common/ArchitectureTest.php @@ -19,6 +19,7 @@ public static function provideBuildNames(): iterable yield ['roadrunner-2024.1.5-windows.zip', null]; yield ['roadrunner-2024.1.5-linux-amd64.deb', Architecture::X86_64]; yield ['protoc-27.3-win64.zip', Architecture::X86_64]; + yield ['temporal-test-server_1.33.0_macOS_arm64.tar.gz', Architecture::ARM_64]; } #[DataProvider('provideBuildNames')] diff --git a/tests/Unit/Module/Common/OperatingSystemTest.php b/tests/Unit/Module/Common/OperatingSystemTest.php index 0958ce2..4bc35f6 100644 --- a/tests/Unit/Module/Common/OperatingSystemTest.php +++ b/tests/Unit/Module/Common/OperatingSystemTest.php @@ -19,6 +19,7 @@ public static function provideBuildNames(): iterable yield ['roadrunner-2024.1.5-unknown-musl-amd64.tar.gz', null]; yield ['protoc-27.3-win64.zip', OperatingSystem::Windows]; yield ['protoc-27.3-win32.zip', OperatingSystem::Windows]; + yield ['temporal-test-server_1.33.0_macOS_arm64.tar.gz', OperatingSystem::Darwin]; } #[DataProvider('provideBuildNames')]