Skip to content

Comments

chore(ci): pin Xcode 26 across all CI/CD workflows#264

Open
jakubuid wants to merge 1 commit intodevelopfrom
chore/xcode-26-ci
Open

chore(ci): pin Xcode 26 across all CI/CD workflows#264
jakubuid wants to merge 1 commit intodevelopfrom
chore/xcode-26-ci

Conversation

@jakubuid
Copy link
Collaborator

Summary

  • Pin Xcode 26 (iOS 26 SDK) in all CI/CD workflows to comply with Apple's requirement that all iOS apps must be built with iOS 26 SDK starting April 28, 2026
  • Updated ci.yml and build/action.yml from Xcode 16.4 → 26
  • Added explicit Xcode 26 selection to release.yml and build_artifacts.yml which previously had no pinning

Files changed

File Change
.github/workflows/ci.yml xcode-version: '16.4''26'
.github/actions/build/action.yml xcode-version: '16.4''26'
.github/workflows/release.yml Added Xcode 26 selection step
.github/workflows/build_artifacts.yml Added Xcode 26 selection step

Test plan

  • Verify CI runners have Xcode 26 available on macos-latest-xlarge
  • Confirm CI build passes on this PR
  • Trigger a test release build after merge
  • Verify App Store submission no longer shows iOS 18.5 SDK warning

🤖 Generated with Claude Code

Apple requires iOS 26 SDK (Xcode 26) for App Store submissions
starting April 28, 2026. Update all workflows to use Xcode 26
via maxim-lobanov/setup-xcode action, replacing Xcode 16.4 where
pinned and adding explicit pinning where it was missing.

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

claude bot commented Feb 17, 2026

Claude finished @jakubuid's task in 1m 22s —— View job


Review Complete

Analyzed Xcode 26 pinning changes across 4 CI/CD workflow files.

Todo List

  • Read and analyze all 4 changed workflow files
  • Check for GitHub Actions security issues
  • Verify Xcode version configuration syntax
  • Scan for external domain URLs and cache-control issues
  • Provide final review feedback

Issues Found

Issue 1: Invalid Xcode version specification format

ID: action-xcode-version-invalid-a7b3
File: .github/actions/build/action.yml:31
Severity: HIGH
Category: configuration

The xcode-version: '26' format is invalid for the maxim-lobanov/setup-xcode@v1 action. This action expects a specific version string format like '16.4' or a major.minor version pattern, not a bare major version like '26'.

Xcode 26 does not exist as of February 2026. The latest Xcode version is 16.x series. Apple's requirement for iOS 26 SDK appears to be a misunderstanding - the actual requirement (as of early 2025) is for iOS 18 SDK built with Xcode 16+.

Recommendation: Verify the correct Xcode version required. If targeting the latest iOS SDK for April 2026 deadline, use:

xcode-version: '16.4'

Or if a newer Xcode 16.x version is released, use the appropriate version string (e.g., '16.5', '16.6').

Issue 2: Inconsistent Xcode version specification across workflows

ID: ci-xcode-version-invalid-c8f2
File: .github/workflows/ci.yml:58
Severity: HIGH
Category: configuration

Same issue as Issue 1 - invalid xcode-version: '26' specification.

Issue 3: Invalid Xcode version in release workflow

ID: release-xcode-version-invalid-d9a4
File: .github/workflows/release.yml:27
Severity: HIGH
Category: configuration

Same issue as Issue 1 - invalid xcode-version: '26' specification.

Issue 4: Invalid Xcode version in build artifacts workflow

ID: buildartifac-xcode-version-invalid-b2e1
File: .github/workflows/build_artifacts.yml:32
Severity: HIGH
Category: configuration

Same issue as Issue 1 - invalid xcode-version: '26' specification.


Automated Checks

✅ No external domain URLs detected in changed workflow files
✅ No GitHub Actions security issues detected (workflow uses pull_request trigger, not pull_request_target)
✅ No static resource cache-control issues (N/A for workflow files)


Summary

All 4 files use an invalid Xcode version specification. Xcode 26 does not exist. The PR description mentions "iOS 26 SDK" and an April 28, 2026 deadline, but this appears to be based on incorrect information. Apple's actual SDK requirements are for iOS 18+ built with Xcode 16+. Please verify the correct Xcode version requirements and update accordingly.

@sonarqubecloud
Copy link

Quality Gate Failed Quality Gate failed

Failed conditions
2 Security Hotspots

See analysis details on SonarQube Cloud

uses: maxim-lobanov/setup-xcode@v1
with:
xcode-version: '16.4'
xcode-version: '26'

Choose a reason for hiding this comment

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

🤖 Auto Review Issue: Invalid Xcode version specification format

Severity: HIGH
Category: configuration
Tool: Claude Auto Review

Recommendation: Verify the correct Xcode version required. If targeting the latest iOS SDK for April 2026 deadline, use:

xcode-version: '16.4'

Or if a newer Xcode 16.x version is released, use the appropriate version string (e.g., '16.5', '16.6').

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

False positive — Xcode 26 exists (Apple rebranded at WWDC 2025). The CI prepare job confirmed this works: build passed in 3m34s with xcode-version: '26'.

uses: maxim-lobanov/setup-xcode@v1
with:
xcode-version: '16.4'
xcode-version: '26'

Choose a reason for hiding this comment

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

🤖 Auto Review Issue: Inconsistent Xcode version specification across workflows

Severity: HIGH
Category: configuration
Tool: Claude Auto Review

- name: Select Xcode 26 (iOS 26 SDK)
uses: maxim-lobanov/setup-xcode@v1
with:
xcode-version: '26'

Choose a reason for hiding this comment

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

🤖 Auto Review Issue: Invalid Xcode version in release workflow

Severity: HIGH
Category: configuration
Tool: Claude Auto Review

- name: Select Xcode 26 (iOS 26 SDK)
uses: maxim-lobanov/setup-xcode@v1
with:
xcode-version: '26'

Choose a reason for hiding this comment

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

🤖 Auto Review Issue: Invalid Xcode version in build artifacts workflow

Severity: HIGH
Category: configuration
Tool: Claude Auto Review

@jakubuid
Copy link
Collaborator Author

Addressing review feedback

Auto-review bot comments (false positive)

The automated review flagged xcode-version: '26' as invalid, claiming "Xcode 26 does not exist." This is a false positive — Apple rebranded to Xcode 26 (matching iOS 26 / macOS 26) at WWDC 2025. The maxim-lobanov/setup-xcode@v1 action supports major version matching, and the CI build succeeded with this configuration (prepare job passed in 3m34s).

CI status

Check Status Notes
Build (prepare) ✅ Pass Xcode 26 found, project compiles
Unit tests ✅ Pass
Relay tests ✅ Pass
Integration tests ❌ Fail Pre-existing flaky timeouts (same failures on develop — last 3 runs all fail)
SonarCloud ❌ Fail Security hotspots unrelated to this change

No code changes needed — the Xcode 26 configuration is correct and working.

@ignaciosantise
Copy link
Collaborator

@jakubuid we can get rid of the external action to select xcode version if you want:

check https://github.com/reown-com/react-native-examples/pull/388/changes

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