Skip to content

fix(ci): override simulator deployment target on Actions - #2

Closed
SamGu-NRX wants to merge 1 commit into
mainfrom
codex/fix-ci-simulator-deployment-target
Closed

SamGu-NRX wants to merge 1 commit into
mainfrom
codex/fix-ci-simulator-deployment-target

Conversation

@SamGu-NRX

@SamGu-NRX SamGu-NRX commented Mar 31, 2026 •

Copy link
Copy Markdown
Owner

Summary

  • override the simulator deployment target only in CI xcodebuild invocations
  • keep the product's declared iOS 26 deployment target unchanged
  • avoid Xcode 16.4 simulator warnings on GitHub Actions for unsupported 26.0 simulator deployment target

Verification

  • SIMULATOR_DEPLOYMENT_TARGET=18.5 ./scripts/run_ios_tests.sh
  • SIMULATOR_DEPLOYMENT_TARGET=18.5 ./scripts/run_periphery_scan.sh

Summary by CodeRabbit

Release Notes

  • Chores
    • Enhanced iOS build and testing infrastructure with improved deployment target configuration support. Build scripts now conditionally apply simulator deployment target settings when specified, improving flexibility and consistency across automated testing and code analysis workflows.

@coderabbitai

coderabbitai Bot commented Mar 31, 2026 •

Copy link
Copy Markdown
📝 Walkthrough

Walkthrough

The changes add a new environment variable SIMULATOR_DEPLOYMENT_TARGET to iOS CI workflows and update shell scripts to conditionally set IPHONEOS_DEPLOYMENT_TARGET when that variable is provided, affecting both test builds and code scanning operations.

Changes

Cohort / File(s) Summary
Workflow Configuration
.github/workflows/ios-ci.yml
Added SIMULATOR_DEPLOYMENT_TARGET environment variable set to "18.5" to the build-and-test and dead-code-advisory jobs.
Shell Script Build Arguments
scripts/run_ios_tests.sh, scripts/run_periphery_scan.sh
Refactored xcodebuild invocations to use argument arrays with conditional IPHONEOS_DEPLOYMENT_TARGET setting based on SIMULATOR_DEPLOYMENT_TARGET environment variable.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

Possibly related PRs

Poem

🐰 A rabbit hops through CI lanes,
With deployment targets set just right,
Conditionals bloom like morning rains,
Test scripts dance in workflow light! 🌱✨

🚥 Pre-merge checks | ✅ 3
✅ Passed checks (3 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title accurately describes the main change: adding a simulator deployment target override specifically for CI/Actions workflows.
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 docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch codex/fix-ci-simulator-deployment-target

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.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

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/ios-ci.yml (1)

39-39: Consider documenting or parameterizing the deployment target override.

The hardcoded 18.5 works for current CI environment but may need updates as Xcode versions change. If the codebase starts using iOS 26+ only APIs, CI builds will fail while local builds succeed, creating a confusing debugging experience.

Consider either:

  1. Adding a comment explaining why 18.5 is chosen and when to update it
  2. Moving this to a workflow-level or repository variable for easier maintenance
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In @.github/workflows/ios-ci.yml at line 39, The SIMULATOR_DEPLOYMENT_TARGET
value is hardcoded to "18.5"; either document the rationale or make it
configurable: add a concise comment near SIMULATOR_DEPLOYMENT_TARGET explaining
why 18.5 was chosen and when to bump it, or move SIMULATOR_DEPLOYMENT_TARGET
into a workflow-level input/variable or repo secret (e.g., a workflow/env
variable or GitHub Actions repository variable) so CI can be updated centrally
without editing the workflow file; update references so the workflow uses that
variable name instead of the literal "18.5".
🤖 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/ios-ci.yml:
- Line 39: The SIMULATOR_DEPLOYMENT_TARGET value is hardcoded to "18.5"; either
document the rationale or make it configurable: add a concise comment near
SIMULATOR_DEPLOYMENT_TARGET explaining why 18.5 was chosen and when to bump it,
or move SIMULATOR_DEPLOYMENT_TARGET into a workflow-level input/variable or repo
secret (e.g., a workflow/env variable or GitHub Actions repository variable) so
CI can be updated centrally without editing the workflow file; update references
so the workflow uses that variable name instead of the literal "18.5".

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: 021f4e98-ad3e-40e8-9de9-9da49e78bec8

📥 Commits

Reviewing files that changed from the base of the PR and between bcabc8f and 3df6a19.

📒 Files selected for processing (3)
  • .github/workflows/ios-ci.yml
  • scripts/run_ios_tests.sh
  • scripts/run_periphery_scan.sh

@SamGu-NRX

Copy link
Copy Markdown
Owner Author

Superseded by #10, which moves CI to macos-26 with Xcode 26.6 so the app's iOS 26 target builds and tests as declared, instead of lowering the simulator deployment target. Closing; reopen if you still want the override.

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