Skip to content

Build the macOS assets on macos-26 - #13

Merged
oschwald merged 1 commit into
mainfrom
wstorey/macos-15
Oct 7, 2026
Merged

oschwald merged 1 commit into
mainfrom
wstorey/macos-15

Conversation

@horgh

@horgh horgh commented Oct 7, 2026 •

Copy link
Copy Markdown
Contributor

The macOS jobs fail on macos-14 in the "Install PHP" step. For example, see run 37322667367 on #12. main fails the same way on its next run.

Cause

Homebrew dropped support for macOS 14 on 2026-09-10 (Homebrew/brew 85ceb6ae). The shivammathur/php tap stopped building macOS 14 bottles, and since 2026-09-23 the PHP 8.2 and 8.5 formulas have no arm64_sonoma bottle. setup-php 2.37.2 then builds PHP from source. Its 180-second inactivity watchdog kills the build and retries it, and the step fails after 30 to 45 minutes with "Could not setup PHP". The upstream issue is shivammathur/setup-php#1125.

GitHub also retires the macos-14 image on 2026-11-02 (actions/runner-images#13518).

Change

  • Run the macOS job on macos-26. All PHP formulas the release matrix uses (8.2 to 8.5, nts and zts) have arm64_tahoe bottles.
  • Keep the version pinned rather than macos-latest, so that the build image changes only with a commit.
  • Update the comments that named macos-14.

Effect on the assets

None. The runner does not set the macOS floor. The build step pins MACOSX_DEPLOYMENT_TARGET to 11.0, and the gate step fails if the measured minos is higher. libmaxminddb is bundled, so the object links no Homebrew libraries.

A test build on macos-15 produced binaries that match the v1.14.0 assets (built on macos-14) in everything except the SDK version field: minos 11.0, libSystem only, the same imported symbols, and no weak imports. This PR's CI on macos-26 gives the same comparison for the new SDK.

The one loss: the load-and-query test now runs on macOS 26 instead of 14.

Alternative not taken

setup-php 2.40.0-beta installs a prebuilt PHP that supports macos-14. It is a prerelease, and upstream marks macos-14 as deprecated, so this PR does not use it.

🤖 Generated with Claude Code

Copilot AI balanced review requested due to automatic review settings October 7, 2026 21:05
@coderabbitai

coderabbitai Bot commented Oct 7, 2026 •

Copy link
Copy Markdown

Important

  • 🔍 Trigger review

This repository does not receive automatic reviews because it has fewer than 10 stars.

⚙️ Run configuration
  • Configuration used: Organization UI
  • Review profile: ASSERTIVE
  • Plan: Advanced
  • Run ID: f3931e77-c5a6-4b97-aa69-accc44fc527b
  • Autopilot · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟢 Approval recommended

The runner migration is consistent, preserves ARM64 architecture, and leaves compatibility safeguards intact.

0 open findings

What changed in this PR

Updates macOS release asset builds to use the supported macOS 15 ARM64 runner.

Changes:

  • Switches the release job from macos-14 to macos-15.
  • Updates comments explaining runner selection and architecture.
File Description
.github/​workflows/​release.yml Moves macOS ARM64 asset builds to macOS 15.

🧠 Review effort: Balanced


💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Copilot AI balanced review requested due to automatic review settings October 7, 2026 21:06
@horgh
horgh force-pushed the wstorey/macos-15 branch from 059e31f to c2581a1 Compare October 7, 2026 21:06

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟢 Approval recommended

The focused runner update resolves the documented PHP installation failure without changing the asset compatibility target.

0 open findings

🧠 Review effort: Balanced

setup-php installs PHP from shivammathur/php tap bottles. The tap has
bottles only for the macOS versions that Homebrew supports, and macOS 14
is not one of them. On macos-14, setup-php 2.37.2 builds PHP and its
dependencies from source. Its inactivity watchdog kills and retries the
build until no php binary exists, and the step fails with "Could not
setup PHP". See shivammathur/setup-php#1125.

macos-26 is the newest pinned arm64 image. Homebrew and GitHub support
it for longer than macos-15. The version stays pinned rather than
macos-latest so that the build image changes only with a commit.

The runner does not set the macOS floor of the assets. The build step
pins MACOSX_DEPLOYMENT_TARGET to 11.0, and the gate step fails if the
measured minos is higher. The assets support macOS 11 and later.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@horgh
horgh force-pushed the wstorey/macos-15 branch from c2581a1 to 260acd7 Compare October 7, 2026 21:15
Copilot AI balanced review requested due to automatic review settings October 7, 2026 21:15
@horgh horgh changed the title Build the macOS assets on macos-15 Build the macOS assets on macos-26 Oct 7, 2026

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟢 Approval recommended

The focused runner update preserves the independently validated macOS 11 deployment target.

0 open findings

🧠 Review effort: Balanced

@oschwald
oschwald merged commit bb66d05 into main Oct 7, 2026
35 checks passed
@oschwald
oschwald deleted the wstorey/macos-15 branch October 7, 2026 22:18
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.

3 participants