Skip to content

ci: set macOS builds to continue-on-error#817

Closed
frostebite wants to merge 3 commits intomainfrom
ci/macos-continue-on-error
Closed

ci: set macOS builds to continue-on-error#817
frostebite wants to merge 3 commits intomainfrom
ci/macos-continue-on-error

Conversation

@frostebite
Copy link
Member

@frostebite frostebite commented Mar 5, 2026

Summary

  • Adds continue-on-error: true to the macOS build job in build-tests-mac.yml
  • macOS builds are currently failing across all PRs, blocking merges
  • This allows mac builds to still run (giving visibility into their status) without blocking the overall workflow

Test plan

  • Verify the workflow YAML is valid
  • Confirm macOS job still runs but does not block other jobs on failure

Co-Authored-By: Claude Opus 4.6 noreply@anthropic.com

Summary by CodeRabbit

  • Chores
    • Enhanced continuous integration workflow for macOS and iOS builds to prevent build failures from blocking pull request merges, improving development velocity.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@coderabbitai
Copy link

coderabbitai bot commented Mar 5, 2026

📝 Walkthrough

Walkthrough

Modified GitHub Actions workflow to allow macOS build failures without blocking merge by adding check permissions, making the build job continue-on-error, and introducing a new job that marks certain platform-specific failures as unstable rather than blocking.

Changes

Cohort / File(s) Summary
GitHub Actions Workflow Configuration
.github/workflows/build-tests-mac.yml
Added write permission for checks; configured buildForAllPlatformsMacOS job with continue-on-error: true; introduced new markUnstableBuilds job that runs after the build job to mark failed StandaloneOSX and iOS check runs as neutral/unstable, preventing them from blocking PR merges.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20 minutes

Poem

🐰 A workflow that's clever and bright,
Makes macOS builds non-blocking, just right!
iOS and OSX no longer delay,
Marked as unstable, they're out of the way! 🚀
Merges flow freely, the CI's been fixed,
With scripts and permissions nicely all mixed! ✨

🚥 Pre-merge checks | ✅ 3
✅ Passed checks (3 passed)
Check name Status Explanation
Title check ✅ Passed The title accurately describes the main change: adding continue-on-error to macOS builds to prevent them from blocking merges.
Description check ✅ Passed The description covers the changes and test plan but lacks some template sections like Related Issues, Related PRs, and Successful Workflow Run Link.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch ci/macos-continue-on-error

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.

@github-actions
Copy link

github-actions bot commented Mar 6, 2026

Cat Gif

@codecov
Copy link

codecov bot commented Mar 6, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 31.25%. Comparing base (9d47543) to head (8f732b3).

Additional details and impacted files

Impacted file tree graph

@@           Coverage Diff           @@
##             main     #817   +/-   ##
=======================================
  Coverage   31.25%   31.25%           
=======================================
  Files          84       84           
  Lines        4563     4563           
  Branches     1103     1103           
=======================================
  Hits         1426     1426           
  Misses       3137     3137           
🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

Use the Checks API to flip failed macOS build conclusions to neutral
(gray dash) so unstable builds don't show red X marks on PRs.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
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.

🧹 Nitpick comments (1)
.github/workflows/build-tests-mac.yml (1)

109-111: Consider defensive handling for the name match.

The substring check relies on the matrix job naming convention (${{ matrix.targetPlatform }} on ${{ matrix.unityVersion }}). If this naming changes, the script would silently skip all runs.

An alternative would be to match against the full expected name pattern or use a more explicit marker (like a label or output), but the current approach is pragmatic for this use case.

💡 Optional: More explicit matching
-              if (!run.name.includes('StandaloneOSX') && !run.name.includes('iOS')) continue;
+              const macPlatforms = ['StandaloneOSX', 'iOS'];
+              const isMacBuild = macPlatforms.some(p => run.name.includes(p));
+              if (!isMacBuild) continue;

This is slightly more maintainable if you need to add more platforms later (e.g., tvOS, VisionOS).

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In @.github/workflows/build-tests-mac.yml around lines 109 - 111, The current
loop over checkRuns.check_runs uses fragile substring checks on run.name
(run.name.includes('StandaloneOSX') / 'iOS') and may silently skip runs if
naming changes; update the logic in the loop that inspects checkRuns.check_runs
to use a more defensive match (e.g., compare against a full expected name
pattern or a regex anchored to the expected matrix format, or check for an
explicit marker/label in the check run metadata) and add a fallback/warning when
no matching runs are found so failures aren't silently ignored; keep the
existing early filters (run.conclusion and run.app?.slug) but replace the
includes-based checks on run.name with the more reliable matching strategy and a
logged warning when no matches occur.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Nitpick comments:
In @.github/workflows/build-tests-mac.yml:
- Around line 109-111: The current loop over checkRuns.check_runs uses fragile
substring checks on run.name (run.name.includes('StandaloneOSX') / 'iOS') and
may silently skip runs if naming changes; update the logic in the loop that
inspects checkRuns.check_runs to use a more defensive match (e.g., compare
against a full expected name pattern or a regex anchored to the expected matrix
format, or check for an explicit marker/label in the check run metadata) and add
a fallback/warning when no matching runs are found so failures aren't silently
ignored; keep the existing early filters (run.conclusion and run.app?.slug) but
replace the includes-based checks on run.name with the more reliable matching
strategy and a logged warning when no matches occur.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Repository UI

Review profile: CHILL

Plan: Pro

Run ID: 6d0b9231-677b-4e5f-b6cb-2faf7b0d1f78

📥 Commits

Reviewing files that changed from the base of the PR and between 9d47543 and 32fb396.

⛔ Files ignored due to path filters (1)
  • dist/index.js.map is excluded by !**/dist/**, !**/*.map
📒 Files selected for processing (1)
  • .github/workflows/build-tests-mac.yml

Stop modifying the macOS build workflow — leave it identical to main.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@frostebite
Copy link
Member Author

Closing — reverting macOS workflow changes, leaving build-tests-mac.yml identical to main.

@frostebite frostebite closed this Mar 9, 2026
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