Skip to content

Dev: bump to macos-15#1508

Merged
bigredfrog merged 4 commits intoLedFx:mainfrom
bigredfrog:macos15
Oct 3, 2025
Merged

Dev: bump to macos-15#1508
bigredfrog merged 4 commits intoLedFx:mainfrom
bigredfrog:macos15

Conversation

@bigredfrog
Copy link
Copy Markdown
Contributor

@bigredfrog bigredfrog commented Oct 2, 2025

Speculative bump in response to notice below.

Wondering why we have a mix of macos-13 and macos-latest

The macOS 13 runner image will be retired by December 4th, 2025. To raise awareness of the upcoming removal, jobs using macOS 13 will temporarily fail during the scheduled brownout time periods defined below:
November 4, 14:00 UTC - November 5, 00:00 UTC
November 11, 14:00 UTC - November 12, 00:00 UTC
November 18, 14:00 UTC - November 19, 00:00 UTC
November 25, 14:00 UTC - November 26, 00:00 UTC
This deprecation includes the following labels:
macos-13
macos-13-large
macos-13-xlarge
What you need to do
(Recommended) If your workflow is architecture agnostic, you can migrate to any of our arm64 labels:
macos-15 or macos-latest
macos-14
macos-14-xlarge
macos-latest-xlarge or macos-15-xlarge
For users that require the x86_64 (Intel) architecture, jobs can be migrated to one of the following labels:
macos-15-intel (new)
macos-14-large
macos-latest-large or macos-15-large
You can always get up-to-date information on our tools by reading about the software in the runner images repository. Please contact GitHub Support if you run into any problems or need help.

Notice of macOS x86_64 (Intel) architecture deprecation
Apple has discontinued support for the x86_64 (Intel) architecture going forward. GitHub will no longer support this architecture on macOS after the macOS 15 runner image is retired in Fall 2027. You should begin migrating your workloads to arm64-based (Apple Silicon) runners as soon as possible to prepare for this eventual deprecation.

Best,
The GitHub Team

Summary by CodeRabbit

  • Chores
    • Updated macOS CI runners from macOS 13 to macOS 15 for all macOS build, test, and release jobs.
  • Bug Fixes
    • Improved Apple Silicon build reliability by setting a minimum build policy to address package build issues on newer toolchains.
  • Notes
    • No changes to app features or user-facing behavior.

@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai bot commented Oct 2, 2025

Walkthrough

Updated macOS GitHub Actions runners from macos-13 to macos-15 (intel) in two workflow files and added a step to set CMAKE_POLICY_VERSION_MINIMUM=3.5 for the Apple Silicon build. No other workflow logic or public APIs changed.

Changes

Cohort / File(s) Summary of Changes
CI macOS runner bump
\.github/workflows/ci-build.yml
In job Build LedFx (OS X), updated runs-on from macos-13 to macos-15-intel.
Apple Silicon CMake policy + runner bump
\.github/workflows/ci-build.yml
In job Build LedFx (OS X) Apple Silicon (osx-m1), added a step to set CMAKE_POLICY_VERSION_MINIMUM=3.5 (environment for CMake) to address samplerate build issues; runner image adjusted where applicable.
Build/Test/Release macOS runner bump
\.github/workflows/test-build-binaries.yml
Updated runs-on from macos-13 to macos-15/macos-15-intel in jobs build-ledfx-osx-x64, run-ledfx-osx-x64, and create-release. No other steps changed.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

Possibly related PRs

Suggested reviewers

  • shauneccles

Poem

I hop through CI with floppy ears,
macOS fifteen clears old fears.
A CMake whisper, policy set—
builds run smooth, no build regret.
Carrots compiled, green checks appear. 🥕

Pre-merge checks and finishing touches

✅ Passed checks (3 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit's high-level summary is enabled.
Title Check ✅ Passed The title “Dev: bump to macos-15” succinctly captures the primary change of updating the CI workflows to use the macOS 15 runner image and is clear and directly related to the changeset.
Docstring Coverage ✅ Passed No functions found in the changes. Docstring coverage check skipped.
✨ Finishing touches
🧪 Generate unit tests
  • Create PR with unit tests
  • Post copyable unit tests in a comment

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 and usage tips.

Copy link
Copy Markdown
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 3

📜 Review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 40e4b4d and 37cd4f7.

📒 Files selected for processing (2)
  • .github/workflows/ci-build.yml (1 hunks)
  • .github/workflows/test-build-binaries.yml (3 hunks)
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (4)
  • GitHub Check: Build LedFx (OS X) (Apple Silicon) (3.9)
  • GitHub Check: Build LedFx (Ubuntu) (3.12)
  • GitHub Check: Build LedFx (Ubuntu) (3.11)
  • GitHub Check: Build LedFx (Ubuntu) (3.9)

Copy link
Copy Markdown
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 1

📜 Review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 856dccc and 237d8dd.

📒 Files selected for processing (1)
  • .github/workflows/ci-build.yml (1 hunks)
🧰 Additional context used
🪛 actionlint (1.7.7)
.github/workflows/ci-build.yml

105-105: label "macos-15-intel" is unknown. available labels are "windows-latest", "windows-latest-8-cores", "windows-2025", "windows-2022", "windows-2019", "ubuntu-latest", "ubuntu-latest-4-cores", "ubuntu-latest-8-cores", "ubuntu-latest-16-cores", "ubuntu-24.04", "ubuntu-24.04-arm", "ubuntu-22.04", "ubuntu-22.04-arm", "ubuntu-20.04", "macos-latest", "macos-latest-xl", "macos-latest-xlarge", "macos-latest-large", "macos-15-xlarge", "macos-15-large", "macos-15", "macos-14-xl", "macos-14-xlarge", "macos-14-large", "macos-14", "macos-13-xl", "macos-13-xlarge", "macos-13-large", "macos-13", "self-hosted", "x64", "arm", "arm64", "linux", "macos", "windows". if it is a custom label for self-hosted runner, set list of labels in actionlint.yaml config file

(runner-label)

⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (11)
  • GitHub Check: Build LedFx Docker Image for arm64
  • GitHub Check: Build LedFx (OS X) (Apple Silicon) (3.10)
  • GitHub Check: Build LedFx (OS X) (Apple Silicon) (3.9)
  • GitHub Check: Build LedFx (OS X) (3.9)
  • GitHub Check: Build LedFx (OS X) (3.11)
  • GitHub Check: Build LedFx (OS X) (3.10)
  • GitHub Check: Build LedFx (Ubuntu) (3.11)
  • GitHub Check: Build LedFx (Ubuntu) (3.10)
  • GitHub Check: Build LedFx (Ubuntu) (3.9)
  • GitHub Check: Build LedFx (Ubuntu) (3.12)
  • GitHub Check: Build LedFx (Windows) (3.10)
🔇 Additional comments (1)
.github/workflows/ci-build.yml (1)

156-158: Confirm CMake honors CMAKE_POLICY_VERSION_MINIMUM

I can’t find documentation that the environment variable CMAKE_POLICY_VERSION_MINIMUM is consumed by CMake. Please double-check that this really flips the intended policy (e.g., via a quick configure log check) or adjust to the officially supported mechanism.

build-ledfx-osx:
name: Build LedFx (OS X)
runs-on: macos-13
runs-on: macos-15-intel
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟠 Major

Update actionlint (or whitelist the new runner)

macos-15-intel is valid on GitHub, but actionlint 1.7.7 still flags it as unknown, which keeps our lint job red. Please bump actionlint to a release that knows this label or add it to the runner-labels allow-list in actionlint.yaml before landing.

🧰 Tools
🪛 actionlint (1.7.7)

105-105: label "macos-15-intel" is unknown. available labels are "windows-latest", "windows-latest-8-cores", "windows-2025", "windows-2022", "windows-2019", "ubuntu-latest", "ubuntu-latest-4-cores", "ubuntu-latest-8-cores", "ubuntu-latest-16-cores", "ubuntu-24.04", "ubuntu-24.04-arm", "ubuntu-22.04", "ubuntu-22.04-arm", "ubuntu-20.04", "macos-latest", "macos-latest-xl", "macos-latest-xlarge", "macos-latest-large", "macos-15-xlarge", "macos-15-large", "macos-15", "macos-14-xl", "macos-14-xlarge", "macos-14-large", "macos-14", "macos-13-xl", "macos-13-xlarge", "macos-13-large", "macos-13", "self-hosted", "x64", "arm", "arm64", "linux", "macos", "windows". if it is a custom label for self-hosted runner, set list of labels in actionlint.yaml config file

(runner-label)

🤖 Prompt for AI Agents
In .github/workflows/ci-build.yml around line 105, actionlint flags the new
runner label macos-15-intel as unknown; fix by either updating the actionlint
version used in the workflow to a release that recognizes macos-15-intel (bump
the action/image or actionlint binary reference to a newer tag) or add
"macos-15-intel" to the runner-labels allow-list in actionlint.yaml (add the
label string under the runner-labels key and commit); choose one approach,
update the corresponding file, and re-run the lint job to confirm the warning is
resolved.

Copy link
Copy Markdown
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 0

🧹 Nitpick comments (1)
.github/workflows/test-build-binaries.yml (1)

98-98: Switching the x64 jobs to macos-15-intel keeps them on Intel hardware

This preserves the expected architecture for PyInstaller builds, smoke tests, and release packaging. Looks good. If you have actionlint wired into CI, you may need to bump it (or whitelist the new label) so it stops flagging macos-15-intel as unknown.

Also applies to: 397-397, 443-443

📜 Review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 237d8dd and 4aa1a92.

📒 Files selected for processing (1)
  • .github/workflows/test-build-binaries.yml (3 hunks)
🧰 Additional context used
🪛 actionlint (1.7.7)
.github/workflows/test-build-binaries.yml

98-98: label "macos-15-intel" is unknown. available labels are "windows-latest", "windows-latest-8-cores", "windows-2025", "windows-2022", "windows-2019", "ubuntu-latest", "ubuntu-latest-4-cores", "ubuntu-latest-8-cores", "ubuntu-latest-16-cores", "ubuntu-24.04", "ubuntu-24.04-arm", "ubuntu-22.04", "ubuntu-22.04-arm", "ubuntu-20.04", "macos-latest", "macos-latest-xl", "macos-latest-xlarge", "macos-latest-large", "macos-15-xlarge", "macos-15-large", "macos-15", "macos-14-xl", "macos-14-xlarge", "macos-14-large", "macos-14", "macos-13-xl", "macos-13-xlarge", "macos-13-large", "macos-13", "self-hosted", "x64", "arm", "arm64", "linux", "macos", "windows". if it is a custom label for self-hosted runner, set list of labels in actionlint.yaml config file

(runner-label)


397-397: label "macos-15-intel" is unknown. available labels are "windows-latest", "windows-latest-8-cores", "windows-2025", "windows-2022", "windows-2019", "ubuntu-latest", "ubuntu-latest-4-cores", "ubuntu-latest-8-cores", "ubuntu-latest-16-cores", "ubuntu-24.04", "ubuntu-24.04-arm", "ubuntu-22.04", "ubuntu-22.04-arm", "ubuntu-20.04", "macos-latest", "macos-latest-xl", "macos-latest-xlarge", "macos-latest-large", "macos-15-xlarge", "macos-15-large", "macos-15", "macos-14-xl", "macos-14-xlarge", "macos-14-large", "macos-14", "macos-13-xl", "macos-13-xlarge", "macos-13-large", "macos-13", "self-hosted", "x64", "arm", "arm64", "linux", "macos", "windows". if it is a custom label for self-hosted runner, set list of labels in actionlint.yaml config file

(runner-label)


443-443: label "macos-15-intel" is unknown. available labels are "windows-latest", "windows-latest-8-cores", "windows-2025", "windows-2022", "windows-2019", "ubuntu-latest", "ubuntu-latest-4-cores", "ubuntu-latest-8-cores", "ubuntu-latest-16-cores", "ubuntu-24.04", "ubuntu-24.04-arm", "ubuntu-22.04", "ubuntu-22.04-arm", "ubuntu-20.04", "macos-latest", "macos-latest-xl", "macos-latest-xlarge", "macos-latest-large", "macos-15-xlarge", "macos-15-large", "macos-15", "macos-14-xl", "macos-14-xlarge", "macos-14-large", "macos-14", "macos-13-xl", "macos-13-xlarge", "macos-13-large", "macos-13", "self-hosted", "x64", "arm", "arm64", "linux", "macos", "windows". if it is a custom label for self-hosted runner, set list of labels in actionlint.yaml config file

(runner-label)

⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (11)
  • GitHub Check: Build LedFx (OS X) (Apple Silicon) (3.11)
  • GitHub Check: Build LedFx (Ubuntu) (3.12)
  • GitHub Check: Build LedFx (OS X) (Apple Silicon) (3.10)
  • GitHub Check: Build LedFx (Ubuntu) (3.9)
  • GitHub Check: Build LedFx (OS X) (3.11)
  • GitHub Check: Build LedFx (Ubuntu) (3.11)
  • GitHub Check: Build LedFx (Windows) (3.11)
  • GitHub Check: Build LedFx (OS X) (3.9)
  • GitHub Check: Build LedFx (Windows) (3.10)
  • GitHub Check: Build LedFx (OS X) (3.10)
  • GitHub Check: Build LedFx (Ubuntu) (3.10)

@bigredfrog bigredfrog merged commit 99a64a5 into LedFx:main Oct 3, 2025
20 checks passed
@bigredfrog bigredfrog deleted the macos15 branch October 3, 2025 05:38
@coderabbitai coderabbitai bot mentioned this pull request Oct 18, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant