Skip to content

Conversation

@vyasgun
Copy link
Contributor

@vyasgun vyasgun commented Oct 15, 2025

Fixes: #378

Summary by CodeRabbit

  • Chores
    • Raised the minimum macOS target for built binaries to macOS 13.0.
  • Documentation
    • Added a Supported Host Platforms guide clarifying macOS-only virtualization support.
    • Defines host-support policy (current major + two previous; older dropped after ~3 years).
    • Lists tested environments (macOS 14, 15, 26 across Apple Silicon and Intel) and virtualization test runner notes and deprecation timeline.
    • Lists supported architectures and notes raw block devices require macOS 14+.

@openshift-ci openshift-ci bot requested review from anjannath and lstocchi October 15, 2025 09:13
@openshift-ci
Copy link

openshift-ci bot commented Oct 15, 2025

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by:
Once this PR has been reviewed and has the lgtm label, please assign lstocchi for approval. For more information see the Code Review Process.

The full list of commands accepted by this bot can be found here.

Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@coderabbitai
Copy link

coderabbitai bot commented Oct 15, 2025

Walkthrough

Updated the macOS CGO deployment target in the Makefile from 11.0 to 13.0 and added doc/supported_platforms.md describing supported macOS host majors, CI-tested environments, supported architectures, and notes about runner availability and raw block device requirements.

Changes

Cohort / File(s) Summary
Build target update
Makefile
Change CGO_CFLAGS minimum macOS version from -mmacosx-version-min=11.0 to -mmacosx-version-min=13.0 for CGO builds.
Supported platforms documentation
doc/supported_platforms.md
Add new document detailing supported host macOS majors (current + two previous with drop-after-3-years rule), recommended OS (macOS 14.0+), CI testing matrix (macOS 14/15/26 variants on Apple Silicon and Intel where stated), supported architectures (x86_64, arm64), and notes on Intel runner deprecation and raw block device requirements.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

Areas to check:

  • Makefile — verify the updated CGO_CFLAGS value and any build targets that rely on it.
  • doc/supported_platforms.md — confirm accuracy of CI matrix, supported-version policy wording, and any claims about runner availability and raw block device requirements.

Suggested labels

lgtm, approved

Suggested reviewers

  • lstocchi
  • anjannath
  • praveenkumar

Poem

A rabbit tweaks a tiny flag,
the macOS hill now skips a lag.
Papers list the platforms true,
seeds of builds in morning dew.
Hop—13 settles, 14 hums anew. 🐇✨

Pre-merge checks and finishing touches

✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The PR title accurately describes the main change: adding documentation for supported macOS versions, which is the primary objective of this PR.
Linked Issues check ✅ Passed The PR addresses all coding requirements from issue #378: updated CGO_CFLAGS to 13.0 and created the supported platforms documentation file with appropriate version information.
Out of Scope Changes check ✅ Passed Both changes are directly aligned with issue #378: the Makefile update and documentation addition are the exact scope defined in the linked issue.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
✨ Finishing touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment

📜 Recent review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between a6a66d4 and 9dbe7ef.

📒 Files selected for processing (1)
  • doc/supported_platforms.md (1 hunks)
🚧 Files skipped from review as they are similar to previous changes (1)
  • doc/supported_platforms.md
⏰ 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 (macos-26)
  • GitHub Check: build (macos-14)
  • GitHub Check: build (macos-15)
  • GitHub Check: lint

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

@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)
doc/supported_platforms.md (1)

11-11: Wrap the bare URL in Markdown link syntax.

We run markdownlint (MD034), so please enclose the runner changelog URL in link syntax to avoid the lint warning.

-**macOS 13.0** may work but is not officially supported. Integration tests currently run on macOS 13, but this GitHub Actions runner will be deprecated soon. See: https://github.blog/changelog/2025-07-11-upcoming-changes-to-macos-hosted-runners-macos-latest-migration-and-xcode-support-policy-updates/#macos-13-is-closing-down
+**macOS 13.0** may work but is not officially supported. Integration tests currently run on macOS 13, but this GitHub Actions runner will be deprecated soon. See [GitHub’s announcement](https://github.blog/changelog/2025-07-11-upcoming-changes-to-macos-hosted-runners-macos-latest-migration-and-xcode-support-policy-updates/#macos-13-is-closing-down).
📜 Review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 3530298 and 72e2c7c.

📒 Files selected for processing (2)
  • Makefile (1 hunks)
  • doc/supported_platforms.md (1 hunks)
🧰 Additional context used
🪛 LanguageTool
doc/supported_platforms.md

[grammar] ~7-~7: There might be a mistake here.
Context: ...ended and fully supported. CI tested on: - macOS 14 (Sonoma) - CI tested on Apple S...

(QB_NEW_EN)


[grammar] ~8-~8: There might be a mistake here.
Context: ...14 (Sonoma) - CI tested on Apple Silicon - macOS 15 (Sequoia) - CI tested on Apple ...

(QB_NEW_EN)


[grammar] ~13-~13: There might be a mistake here.
Context: ...cos-13-is-closing-down Architectures: - Intel x86_64 - Apple Silicon ## Limitat...

(QB_NEW_EN)


[grammar] ~14-~14: There might be a mistake here.
Context: ...-down Architectures: - Intel x86_64 - Apple Silicon ## Limitations - **Raw b...

(QB_NEW_EN)

🪛 markdownlint-cli2 (0.18.1)
doc/supported_platforms.md

11-11: Bare URL used

(MD034, no-bare-urls)

@vyasgun vyasgun force-pushed the pr/docs/supported-macos branch from 72e2c7c to 3f5c582 Compare October 15, 2025 10:18
Copy link

@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 72e2c7c and 3f5c582.

📒 Files selected for processing (1)
  • doc/supported_platforms.md (1 hunks)
🧰 Additional context used
🪛 LanguageTool
doc/supported_platforms.md

[grammar] ~7-~7: There might be a mistake here.
Context: ...ended and fully supported. CI tested on: - macOS 14 (Sonoma) - CI tested on Apple S...

(QB_NEW_EN)


[grammar] ~8-~8: There might be a mistake here.
Context: ...14 (Sonoma) - CI tested on Apple Silicon - macOS 15 (Sequoia) - CI tested on Apple ...

(QB_NEW_EN)


[grammar] ~13-~13: There might be a mistake here.
Context: ...s-13-is-closing-down). Architectures: - Intel x86_64 - Apple Silicon ## Limitat...

(QB_NEW_EN)


[grammar] ~14-~14: There might be a mistake here.
Context: ...own). Architectures: - Intel x86_64 - Apple Silicon ## Limitations - **Raw b...

(QB_NEW_EN)

@vyasgun vyasgun force-pushed the pr/docs/supported-macos branch 3 times, most recently from bad7ab4 to 869f730 Compare October 15, 2025 10:44

## Limitations

- **Raw block devices**: Using raw block devices like `/dev/disk1` requires macOS 14+. See Apple's [VZDiskBlockDeviceStorageDeviceAttachment](https://developer.apple.com/documentation/virtualization/vzdiskblockdevicestoragedeviceattachment) documentation.
Copy link
Collaborator

Choose a reason for hiding this comment

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

I don’t think we should list these limitations here, gpu support is also macOS 14+, nested virt is macOS 15+, …
We can remove this section and list the limitation in the cmd line options documentation for example.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

ah okay, makes sense. I'll remove this section.

- **macOS 13.0** may work but is not officially supported. Integration tests currently run on macOS 13, but this GitHub Actions runner will be deprecated soon. See [GitHub’s announcement](https://github.blog/changelog/2025-07-11-upcoming-changes-to-macos-hosted-runners-macos-latest-migration-and-xcode-support-policy-updates/#macos-13-is-closing-down).

**Architectures:**
- Intel x86_64
Copy link
Collaborator

Choose a reason for hiding this comment

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

Need to decide if we want to start deprecating this, or if we wait for apple to officialy drop support.
Just food for thought, no changes needed in this PR.

@vyasgun vyasgun force-pushed the pr/docs/supported-macos branch from 869f730 to c7ba078 Compare October 16, 2025 07:43
Copy link

@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 869f730 and c7ba078.

📒 Files selected for processing (1)
  • doc/supported_platforms.md (1 hunks)
🧰 Additional context used
🪛 LanguageTool
doc/supported_platforms.md

[grammar] ~9-~9: There might be a mistake here.
Context: ...ended and fully supported. CI tested on: - macOS 14 (Sonoma) - CI tested on Apple S...

(QB_NEW_EN)


[grammar] ~10-~10: There might be a mistake here.
Context: ...14 (Sonoma) - CI tested on Apple Silicon - macOS 15 (Sequoia) - CI tested on Apple ...

(QB_NEW_EN)


[grammar] ~11-~11: There might be a mistake here.
Context: ...5 (Sequoia) - CI tested on Apple Silicon - macOS 26 (Tahoe) - CI tested on Apple Si...

(QB_NEW_EN)

⏰ 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). (3)
  • GitHub Check: build (macos-15)
  • GitHub Check: build (macos-14)
  • GitHub Check: lint

The project aims to support the most recent macOS major version at all times, along with the two previous major versions. Support for the oldest supported version will be dropped three years after its release date or when Apple discontinues support, whichever occurs first.

**macOS 14.0 or later** is recommended and fully supported. CI tested on:
- macOS 14 (Sonoma) - CI tested on Apple Silicon
Copy link
Collaborator

Choose a reason for hiding this comment

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

We don’t really test Apple silicon in CI, apart from some non-virt unit tests, which I would not call "testing" :)
Imo, we can drop all explicit versions from this file, this way we don’t need to update it next year when 27 is released.

- macOS 15 (Sequoia) - CI tested on Apple Silicon
- macOS 26 (Tahoe) - CI tested on Apple Silicon

- **macOS 13.0** may work but is not officially supported. Integration tests currently run on macOS 13, but this GitHub Actions runner will be deprecated soon. See [GitHub’s announcement](https://github.blog/changelog/2025-07-11-upcoming-changes-to-macos-hosted-runners-macos-latest-migration-and-xcode-support-policy-updates/#macos-13-is-closing-down).
Copy link
Collaborator

Choose a reason for hiding this comment

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

Despite what I said above, we can keep this one for now.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

I replaced this with macos-15-intel deprecation information.

@vyasgun vyasgun force-pushed the pr/docs/supported-macos branch from c7ba078 to a6a66d4 Compare November 11, 2025 10:16
Copy link

@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)
doc/supported_platforms.md (1)

19-19: Wrap bare URL in markdown link syntax.

The URL at line 19 is not wrapped in markdown formatting. Convert it to a proper link using [description](url) syntax to improve readability and consistency with documentation best practices.

Apply this diff:

- Integration tests with virtualization are run on **macos-15-intel** runners, as virtualization is not supported on Apple Silicon runners in GitHub Actions. These Intel runners will be deprecated by August 2027. See: https://github.com/actions/runner-images/issues/13045
+ Integration tests with virtualization are run on **macos-15-intel** runners, as virtualization is not supported on Apple Silicon runners in GitHub Actions. These Intel runners will be deprecated by August 2027. See: [actions/runner-images#13045](https://github.com/actions/runner-images/issues/13045)
📜 Review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between c7ba078 and a6a66d4.

📒 Files selected for processing (2)
  • Makefile (1 hunks)
  • doc/supported_platforms.md (1 hunks)
🚧 Files skipped from review as they are similar to previous changes (1)
  • Makefile
🧰 Additional context used
🧠 Learnings (1)
📚 Learning: 2025-10-03T11:24:48.305Z
Learnt from: vyasgun
Repo: crc-org/vfkit PR: 376
File: .github/workflows/compile.yml:30-34
Timestamp: 2025-10-03T11:24:48.305Z
Learning: macos-15-intel and macos-26 are valid GitHub-hosted runner labels available in 2025. macos-15-intel is an Intel x86_64 runner, and macos-26 is an arm64 runner in public preview. If actionlint flags them as unknown, whitelist them in .github/actionlint.yaml under self-hosted-runner.labels.

Applied to files:

  • doc/supported_platforms.md
🪛 markdownlint-cli2 (0.18.1)
doc/supported_platforms.md

19-19: Bare URL used

(MD034, no-bare-urls)

⏰ 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). (5)
  • GitHub Check: build (macos-15)
  • GitHub Check: build (macos-26)
  • GitHub Check: build (macos-14)
  • GitHub Check: build (macos-15-intel)
  • GitHub Check: lint
🔇 Additional comments (1)
doc/supported_platforms.md (1)

7-19: Content is accurate and well-structured.

macOS 26 (Tahoe) is confirmed as the current macOS major release, announced at WWDC 2025 and released September 15, 2025. The macOS 26 image is available on GitHub Actions arm64 runners, making the CI testing configurations listed in line 17 correct and up-to-date.

The Host Requirements policy (line 7) clearly articulates support for the latest 3 major versions with a 3-year deprecation window, which aligns with industry practice and the linked issue objectives.

@vyasgun vyasgun force-pushed the pr/docs/supported-macos branch from a6a66d4 to 9dbe7ef Compare November 11, 2025 10:30
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.

Add doc about supported macos versions

2 participants