-
Type:
Task
-
Resolution: Unresolved
-
Priority:
Major - P3
-
None
-
Affects Version/s: None
-
Component/s: Evergreen
-
None
-
None
-
PHP Drivers
-
None
-
None
-
None
-
None
-
None
-
None
Context
The library is tested on Linux only. Evergreen variants run on Debian, RHEL and Ubuntu. Apple Darwin support was removed from the Evergreen scripts in commit 39d77454 (2021-02-09), and the darwin* branch in .evergreen/install-dependencies.sh is now a no-op.
PHPLIB-1978 (Migrate macOS 14 tests to macOS 15) was closed as Works as Designed because the configuration has no macos-14 distro. Restoring macOS coverage means adding a current macOS 15 variant.
Scope
* Add a test variant that runs PHPUnit on a macOS 15 host (macos-15 or macos-15-arm64, whichever DevProd makes available).
* Make the PHP lookup Darwin-aware. The "locate PHP binaries" function in .evergreen/config/functions.yml requires /opt/php, which is a Linux path. On macOS, resolve the Homebrew PHP prefix instead.
* Restore the darwin* branch in .evergreen/install-dependencies.sh so it installs what the macOS job needs.
* Build the extension from source on the macOS host with .evergreen/compile-extension.sh, then install Composer dependencies and run the PHPUnit suite with phpunit.evergreen.xml.
* Add the variant to the pull request aliases for at least one PHP version.
* Document the new variant in the Evergreen configuration.
Acceptance criteria
* A patch build shows the macOS task passing.
* The macOS task runs in the default pull request build for at least one PHP version.
* A build or test failure on macOS fails the task. Skips are explicit and documented.
Dependencies
* macOS 15 hosts must be available (DEVPROD-45657).
* PHP must be installed on the hosts (BUILD-7783).
Notes
* Do not replace or reduce Linux coverage.
* The related driver ticket covers the same work in mongo-php-driver.
- is related to
-
PHPC-2793 Restore macOS testing in Evergreen
-
- Needs Triage
-