Skip to content

[CI] Use MacOS 14 for GCC UBSAN.#1963

Merged
Dead2 merged 1 commit intozlib-ng:developfrom
mtl1979:macubsangcc
Sep 9, 2025
Merged

[CI] Use MacOS 14 for GCC UBSAN.#1963
Dead2 merged 1 commit intozlib-ng:developfrom
mtl1979:macubsangcc

Conversation

@mtl1979
Copy link
Copy Markdown
Collaborator

@mtl1979 mtl1979 commented Sep 6, 2025

  • macOS 15 runners have broken g++ support causing errors when trying to use std::at_quick_exit() and std::quick_exit() as is done in GoogleTest framework.

Summary by CodeRabbit

  • Chores
    • Updated the macOS ARM64 continuous integration runner to macOS 14 for the GCC UBSAN build.
    • Build artifacts for macOS ARM64 will now be produced on the newer runner image, with no changes to build configuration.
    • No impact on product features; end-user functionality remains unchanged.
    • This change may slightly affect build timing and environment consistency for future macOS ARM64 releases.

@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai bot commented Sep 6, 2025

Walkthrough

Updated GitHub Actions workflow: the "macOS GCC UBSAN (ARM64)" job runner changed from macos-latest to macos-14. No other job parameters changed.

Changes

Cohort / File(s) Summary
CI GitHub Actions
.github/workflows/cmake.yml
Changed runner for “macOS GCC UBSAN (ARM64)” from macos-latest to macos-14; compiler, flags, and settings unchanged.

Estimated code review effort

🎯 1 (Trivial) | ⏱️ ~2 minutes

Suggested labels

Continuous Integration

Suggested reviewers

  • Dead2
✨ 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: 0

🧹 Nitpick comments (1)
.github/workflows/cmake.yml (1)

623-631: Add rationale comment and unpin reminder next to the runner

Helps future maintainers understand why this is pinned and when it can be reverted.

           - name: macOS GCC UBSAN (ARM64)
-            os: macos-14
+            # macOS 15 runners currently break Homebrew g++ (std::quick_exit/at_quick_exit) as used by GoogleTest.
+            # Pin to macos-14 until the toolchain on macOS 15 is fixed. See PR #1963.
+            os: macos-14
             compiler: gcc-13
📜 Review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 83a84fa and 7a41f1d.

📒 Files selected for processing (1)
  • .github/workflows/cmake.yml (1 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). (110)
  • GitHub Check: macOS GCC UBSAN (ARM64)
  • GitHub Check: macOS Clang Native Instructions (ARM64)
  • GitHub Check: Windows MSVC 2022 v143 Win64 Native Instructions (AVX)
  • GitHub Check: Windows MSVC 2022 v143 Win32
  • GitHub Check: Ubuntu MinGW i686
  • GitHub Check: EL9 GCC S390X DFLTCC ASAN
  • GitHub Check: Ubuntu GCC AARCH64 No ARMv8 UBSAN
  • GitHub Check: Ubuntu GCC AARCH64 ASAN
  • GitHub Check: Ubuntu GCC AARCH64 Compat No Opt UBSAN
  • GitHub Check: Ubuntu GCC Native Instructions (AVX)
  • GitHub Check: Ubuntu GCC Native Instructions
  • GitHub Check: macOS GCC UBSAN (ARM64)
  • GitHub Check: macOS Clang Native Instructions (ARM64)
  • GitHub Check: Windows MSVC 2022 v143 Win64 Native Instructions (AVX)
  • GitHub Check: Windows MSVC 2022 v143 Win32
  • GitHub Check: Ubuntu MinGW i686
  • GitHub Check: EL9 GCC S390X DFLTCC ASAN
  • GitHub Check: Ubuntu GCC AARCH64 No ARMv8 UBSAN
  • GitHub Check: Ubuntu GCC AARCH64 ASAN
  • GitHub Check: Ubuntu GCC AARCH64 Compat No Opt UBSAN
  • GitHub Check: Ubuntu GCC Native Instructions (AVX)
  • GitHub Check: Ubuntu GCC Native Instructions
  • GitHub Check: macOS GCC UBSAN (ARM64)
  • GitHub Check: macOS Clang Native Instructions (ARM64)
  • GitHub Check: Windows MSVC 2022 v143 Win64 Native Instructions (AVX)
  • GitHub Check: Windows MSVC 2022 v143 Win32
  • GitHub Check: Ubuntu MinGW i686
  • GitHub Check: EL9 GCC S390X DFLTCC ASAN
  • GitHub Check: Ubuntu GCC AARCH64 No ARMv8 UBSAN
  • GitHub Check: Ubuntu GCC AARCH64 ASAN
  • GitHub Check: Ubuntu GCC AARCH64 Compat No Opt UBSAN
  • GitHub Check: Ubuntu GCC Native Instructions (AVX)
  • GitHub Check: Ubuntu GCC Native Instructions
  • GitHub Check: macOS GCC UBSAN (ARM64)
  • GitHub Check: macOS Clang Native Instructions (ARM64)
  • GitHub Check: Windows MSVC 2022 v143 Win64 Native Instructions (AVX)
  • GitHub Check: Windows MSVC 2022 v143 Win32
  • GitHub Check: Ubuntu MinGW i686
  • GitHub Check: EL9 GCC S390X DFLTCC ASAN
  • GitHub Check: Ubuntu GCC AARCH64 No ARMv8 UBSAN
  • GitHub Check: Ubuntu GCC AARCH64 ASAN
  • GitHub Check: Ubuntu GCC AARCH64 Compat No Opt UBSAN
  • GitHub Check: Ubuntu GCC Native Instructions (AVX)
  • GitHub Check: Ubuntu GCC Native Instructions
  • GitHub Check: macOS GCC UBSAN (ARM64)
  • GitHub Check: macOS Clang Native Instructions (ARM64)
  • GitHub Check: Windows MSVC 2022 v143 Win64 Native Instructions (AVX)
  • GitHub Check: Windows MSVC 2022 v143 Win32
  • GitHub Check: Ubuntu MinGW i686
  • GitHub Check: EL9 GCC S390X DFLTCC ASAN
  • GitHub Check: Ubuntu GCC AARCH64 No ARMv8 UBSAN
  • GitHub Check: Ubuntu GCC AARCH64 ASAN
  • GitHub Check: Ubuntu GCC AARCH64 Compat No Opt UBSAN
  • GitHub Check: Ubuntu GCC Native Instructions (AVX)
  • GitHub Check: Ubuntu GCC Native Instructions
  • GitHub Check: macOS GCC UBSAN (ARM64)
  • GitHub Check: macOS Clang Native Instructions (ARM64)
  • GitHub Check: Windows MSVC 2022 v143 Win64 Native Instructions (AVX)
  • GitHub Check: Windows MSVC 2022 v143 Win32
  • GitHub Check: Ubuntu MinGW i686
  • GitHub Check: EL9 GCC S390X DFLTCC ASAN
  • GitHub Check: Ubuntu GCC AARCH64 No ARMv8 UBSAN
  • GitHub Check: Ubuntu GCC AARCH64 ASAN
  • GitHub Check: Ubuntu GCC AARCH64 Compat No Opt UBSAN
  • GitHub Check: Ubuntu GCC Native Instructions (AVX)
  • GitHub Check: Ubuntu GCC Native Instructions
  • GitHub Check: macOS GCC UBSAN (ARM64)
  • GitHub Check: macOS Clang Native Instructions (ARM64)
  • GitHub Check: Windows MSVC 2022 v143 Win64 Native Instructions (AVX)
  • GitHub Check: Windows MSVC 2022 v143 Win32
  • GitHub Check: Ubuntu MinGW i686
  • GitHub Check: EL9 GCC S390X DFLTCC ASAN
  • GitHub Check: Ubuntu GCC AARCH64 No ARMv8 UBSAN
  • GitHub Check: Ubuntu GCC AARCH64 ASAN
  • GitHub Check: Ubuntu GCC AARCH64 Compat No Opt UBSAN
  • GitHub Check: Ubuntu GCC Native Instructions (AVX)
  • GitHub Check: Ubuntu GCC Native Instructions
  • GitHub Check: macOS GCC UBSAN (ARM64)
  • GitHub Check: macOS Clang Native Instructions (ARM64)
  • GitHub Check: Windows MSVC 2022 v143 Win64 Native Instructions (AVX)
  • GitHub Check: Windows MSVC 2022 v143 Win32
  • GitHub Check: Ubuntu MinGW i686
  • GitHub Check: EL9 GCC S390X DFLTCC ASAN
  • GitHub Check: Ubuntu GCC AARCH64 No ARMv8 UBSAN
  • GitHub Check: Ubuntu GCC AARCH64 ASAN
  • GitHub Check: Ubuntu GCC AARCH64 Compat No Opt UBSAN
  • GitHub Check: Ubuntu GCC Native Instructions (AVX)
  • GitHub Check: Ubuntu GCC Native Instructions
  • GitHub Check: macOS GCC UBSAN (ARM64)
  • GitHub Check: macOS Clang Native Instructions (ARM64)
  • GitHub Check: Windows MSVC 2022 v143 Win64 Native Instructions (AVX)
  • GitHub Check: Windows MSVC 2022 v143 Win32
  • GitHub Check: Ubuntu MinGW i686
  • GitHub Check: EL9 GCC S390X DFLTCC ASAN
  • GitHub Check: Ubuntu GCC AARCH64 No ARMv8 UBSAN
  • GitHub Check: Ubuntu GCC AARCH64 ASAN
  • GitHub Check: Ubuntu GCC AARCH64 Compat No Opt UBSAN
  • GitHub Check: Ubuntu GCC Native Instructions (AVX)
  • GitHub Check: Ubuntu GCC Native Instructions
  • GitHub Check: macOS GCC UBSAN (ARM64)
  • GitHub Check: macOS Clang Native Instructions (ARM64)
  • GitHub Check: Windows MSVC 2022 v143 Win64 Native Instructions (AVX)
  • GitHub Check: Windows MSVC 2022 v143 Win32
  • GitHub Check: Ubuntu MinGW i686
  • GitHub Check: EL9 GCC S390X DFLTCC ASAN
  • GitHub Check: Ubuntu GCC AARCH64 No ARMv8 UBSAN
  • GitHub Check: Ubuntu GCC AARCH64 ASAN
  • GitHub Check: Ubuntu GCC AARCH64 Compat No Opt UBSAN
  • GitHub Check: Ubuntu GCC Native Instructions (AVX)
  • GitHub Check: Ubuntu GCC Native Instructions
🔇 Additional comments (1)
.github/workflows/cmake.yml (1)

624-624: LGTM: pinning to macos-14 for GCC UBSAN is appropriate

This avoids the g++/std::quick_exit and std::at_quick_exit issues on macOS 15 runners with GoogleTest. Change looks good.

@codecov
Copy link
Copy Markdown

codecov bot commented Sep 6, 2025

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 81.14%. Comparing base (83a84fa) to head (7a41f1d).
⚠️ Report is 5 commits behind head on develop.

Additional details and impacted files
@@             Coverage Diff             @@
##           develop    #1963      +/-   ##
===========================================
- Coverage    81.59%   81.14%   -0.46%     
===========================================
  Files          163      163              
  Lines        14073    14069       -4     
  Branches      3164     3162       -2     
===========================================
- Hits         11483    11416      -67     
- Misses        1608     1650      +42     
- Partials       982     1003      +21     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@Dead2 Dead2 merged commit 4cbe948 into zlib-ng:develop Sep 9, 2025
144 of 150 checks passed
@coderabbitai coderabbitai bot mentioned this pull request Sep 27, 2025
@Dead2 Dead2 mentioned this pull request Nov 5, 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.

2 participants