Skip to content

fix: update Mac Catalyst publish job to Xcode 26.3#652

Merged
PureWeen merged 1 commit intomainfrom
fix/maccatalyst-xcode-26.3-publish
Apr 21, 2026
Merged

fix: update Mac Catalyst publish job to Xcode 26.3#652
PureWeen merged 1 commit intomainfrom
fix/maccatalyst-xcode-26.3-publish

Conversation

@PureWeen
Copy link
Copy Markdown
Owner

PR #649 updated the Build & Test job to Xcode 26.3, but missed the Publish Mac Catalyst App job which still hardcoded Xcode 26.2. The .NET MacCatalyst SDK 26.2.10233 requires Xcode 26.3, causing all Mac Catalyst publish builds to fail since #649 landed.

This is a one-line fix — 26.2 → 26.3 in the publish job's Xcode selection block.

Fixes: Mac Catalyst artifact missing from v1.0.20 release.

PR #649 updated the Build & Test job but missed the Publish Mac Catalyst
App job, which still hardcoded Xcode 26.2. The .NET MacCatalyst SDK
26.2.10233 requires Xcode 26.3, causing all Mac Catalyst builds to fail.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@PureWeen PureWeen merged commit 45b08ee into main Apr 21, 2026
3 checks passed
@PureWeen PureWeen deleted the fix/maccatalyst-xcode-26.3-publish branch April 21, 2026 14:29
@github-actions
Copy link
Copy Markdown
Contributor

🔍 Pre-existing Design Observations

These are not introduced by this PR. Noted for follow-up consideration.

  • 🟢 Code duplication (3/3 reviewers) — The Xcode selection logic is copy-pasted between build-test (lines 22–33) and publish-maccatalyst (lines 75–89). This PR exists precisely because PR fix: update Xcode requirement from 26.2 to 26.3 #649 updated one copy but missed the other. Consider extracting into a composite action or shared script so there is a single source of truth.

  • 🟢 Empty XCODE_PATH fallback (2/3 reviewers) — If no Xcode_26*.app directory exists on the runner, the fallback ls | sort -rV | head -1 produces an empty string. sudo xcode-select -s "" then fails with a confusing error. A guard like if [ -z "$XCODE_PATH" ]; then echo "::error::No Xcode 26.x found"; exit 1; fi would improve failure diagnostics.

  • 🟢 Diagnostic ls inconsistency (2/3 reviewers after follow-up) — The publish-maccatalyst job includes ls -d /Applications/Xcode*.app for diagnostic logging before selection; the build-test job does not. Minor inconsistency worth harmonizing.

Generated by Expert Code Review (auto) for issue #652 ·

Copy link
Copy Markdown
Contributor

@github-actions github-actions Bot left a comment

Choose a reason for hiding this comment

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

Expert Code Review — PR #652

✅ Verdict: Looks good

Methodology: 3 independent reviewers with adversarial consensus (findings require 2/3+ agreement to be included).


Change Summary

Updates the "Publish Mac Catalyst App" job's Xcode selection from 26.2 → 26.3, matching the "Build & Test" job that was already updated in PR #649. The .NET MacCatalyst SDK requires Xcode 26.3, so this fixes the publish job build failures.

Findings (all 🟢 MINOR, all pre-existing)

# Finding Consensus Severity
1 Duplicated Xcode selection logic across two jobs — root cause of needing this PR 3/3 reviewers 🟢 MINOR
2 Empty XCODE_PATH fallback not validated — confusing error if no Xcode 26.x exists 2/3 reviewers 🟢 MINOR
3 Diagnostic ls inconsistency — publish job has it, build-test doesn't 2/3 reviewers (after follow-up) 🟢 MINOR

No bugs, regressions, security issues, or data loss risks were found in the changed code. All findings are pre-existing observations noted for future improvement.

Assessment

  • ✅ Both Xcode selection blocks now consistently reference 26.3
  • ✅ No remaining references to Xcode 26.2 in any workflow file
  • ✅ Fallback glob Xcode_26*.app handles future point releases
  • ✅ No new secrets, permissions, or untrusted input handling
  • ✅ Change is a 4-line version bump following the exact pattern already validated in build-test

Review performed by 3 independent reviewers with adversarial consensus. Discarded findings: none — all flagged items achieved 2/3+ agreement.

Generated by Expert Code Review (auto) for issue #652

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