-
-
Notifications
You must be signed in to change notification settings - Fork 127
Update Xcode setup in iOS deployment workflow #516
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
WalkthroughReplace manual Xcode selection with maxim-lobanov/setup-xcode@v1 (xcode-version: 16.4); move iOS platform download earlier and into the Release run step; add Changes
Sequence Diagram(s)sequenceDiagram
autonumber
participant GH as GitHub Actions
participant SetupXcode as setup-xcode (maxim-lobanov/setup-xcode@v1)
participant PreDownload as xcodebuild -downloadPlatform iOS
participant Perms as chmod +x usymtool / other chmods
participant SSH as ssh-agent / add-keys
participant Bundler as bundle install
participant Fastlane as fastlane (release)
GH->>SetupXcode: install Xcode (16.4)
GH->>PreDownload: pre-download iOS platform
GH->>Perms: chmod +x usymtool and other scripts
GH->>SSH: start ssh-agent and add keys
GH->>Bundler: run bundle install
GH->>Fastlane: run fastlane release (Release run block also ensures iOS platform downloaded)
note right of Fastlane #DDEEFF: Release path includes\nxcodebuild -downloadPlatform iOS inside run block
Estimated code review effort🎯 2 (Simple) | ⏱️ ~10 minutes Possibly related PRs
Poem
Pre-merge checks and finishing touches❌ Failed checks (1 warning)
✅ Passed checks (2 passed)
✨ Finishing touches🧪 Generate unit tests (beta)
📜 Recent review detailsConfiguration used: CodeRabbit UI Review profile: CHILL Plan: Pro 📒 Files selected for processing (1)
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. Comment |
Visit the preview URL for this PR (updated for commit 9b94053): https://game-ci-5559f--pr516-davidmfinol-patch-4-99bzz199.web.app (expires Wed, 22 Oct 2025 23:19:47 GMT) 🔥 via Firebase Hosting GitHub Action 🌎 Sign: 1f0574f15f83e11bfc148eae8646486a6d0e078b |
There was a problem hiding this 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)
docs/03-github/06-deployment/ios.mdx (1)
485-485
: Add safe shell options so the step fails fast if the download fails.
xcodebuild -downloadPlatform iOS
is the right workaround for the “iOS XX is not installed” error seen on macOS 15 images; addset -euo pipefail
at the top of this run block to avoid continuing after a partial/failed download. (github.com, developer.apple.com)run: | + set -euo pipefail xcodebuild -downloadPlatform iOS
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
💡 Knowledge Base configuration:
- MCP integration is disabled by default for public repositories
- Jira integration is disabled by default for public repositories
- Linear integration is disabled by default for public repositories
You can enable these sources in your CodeRabbit configuration.
📒 Files selected for processing (1)
docs/03-github/06-deployment/ios.mdx
(2 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). (1)
- GitHub Check: build_and_preview
🔇 Additional comments (1)
docs/03-github/06-deployment/ios.mdx (1)
463-466
: Good switch to setup-xcode; consider clarifying pinning strategy.Pinning Xcode 16.4 is appropriate given current macos-latest defaults and the macOS 15 image state. To help readers adapt when runner images change, add a brief inline comment about why it’s pinned and that
latest-stable
is an alternative. (github.com)Apply this inline doc tweak:
- name: Select Xcode uses: maxim-lobanov/setup-xcode@v1 with: + # Pin to a known-good version due to recent runner image changes; update as needed. + # Alternatively, use 'latest-stable' if you prefer auto-tracking. xcode-version: '16.4'
There was a problem hiding this 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
Caution
Some comments are outside the diff and can’t be posted inline due to platform limitations.
⚠️ Outside diff range comments (1)
docs/03-github/06-deployment/ios.mdx (1)
443-446
: Artifact mismatch: v4 upload vs v3 download will fail.You upload with actions/upload-artifact@v4 but download with @V3. These majors are not compatible.
Apply:
- - name: Download iOS Artifact - uses: actions/download-artifact@v3 + - name: Download iOS Artifact + uses: actions/download-artifact@v4Also applies to: 457-461
🧹 Nitpick comments (2)
docs/03-github/06-deployment/ios.mdx (2)
463-466
: Good move to setup-xcode; avoid fragile hard-pin.Pinning to '16.4' can break as runner images rotate. Consider using 'latest-stable' or a repo/env variable to control the version without editing docs.
Example:
- with: - xcode-version: '16.4' + with: + xcode-version: 'latest-stable'
467-492
: Add ruby/setup-ruby and enable bundler cache; harden shell.Ensure a consistent Ruby/Bundler and faster runs; also fail fast on errors.
Insert before the "Fix File Permissions and Run fastlane" step:
+ - name: Setup Ruby + uses: ruby/setup-ruby@v1 + with: + ruby-version: '3.2' + bundler-cache: trueAnd harden the run block:
- run: | + run: | + set -euo pipefail xcodebuild -downloadPlatform iOS eval "$(ssh-agent -s)" ssh-add - <<< "${MATCH_DEPLOY_KEY}" find $IOS_BUILD_PATH -type f -name "**.sh" -exec chmod +x {} \; find $IOS_BUILD_PATH -type f -iname "usymtool*" -exec chmod +x {} \; - bundle install bundle exec fastlane ios releaseNote: With ruby/setup-ruby bundler-cache, a separate
bundle install
is unnecessary here.
Changes
Checklist
code of conduct
Summary by CodeRabbit