Skip to content

Enhance iOS TestFlight configuration and update README#89

Merged
omarghatasheh merged 3 commits into
mainfrom
ios/finalizing
Jun 4, 2026
Merged

Enhance iOS TestFlight configuration and update README#89
omarghatasheh merged 3 commits into
mainfrom
ios/finalizing

Conversation

@MusaMisto

@MusaMisto MusaMisto commented Jun 4, 2026

Copy link
Copy Markdown
Member

This pull request updates the documentation for the iOS build and TestFlight upload workflow. The main changes clarify the release process and update the inputs table to remove a deprecated or unused option.

Documentation updates:

  • Removed the use-simplify9-xcode-setup input from the inputs table in the README.md, as it is no longer relevant.
  • Clarified that releases now run exclusively in the release_with_environment job, which is protected by an approval gate set via the release-environment input, instead of describing two separate release paths.

Summary by CodeRabbit

  • Chores
    • Simplified iOS TestFlight release workflow by removing five configuration inputs (install-react-native-cli, use-simplify9-xcode-setup, verify-cocoapods, signing-style, build-number-offset).
    • Added automatic detection of Xcode project path when not specified.
    • Updated workflow documentation to clarify release process.

@MusaMisto MusaMisto self-assigned this Jun 4, 2026
@MusaMisto MusaMisto added documentation Improvements or additions to documentation enhancement New feature or request labels Jun 4, 2026
@coderabbitai

coderabbitai Bot commented Jun 4, 2026

Copy link
Copy Markdown

Review Change Stack

Caution

Review failed

Pull request was closed or merged during review

📝 Walkthrough

Walkthrough

This pull request refactors the shared iOS TestFlight reusable workflow by removing five obsolete inputs (install-react-native-cli, use-simplify9-xcode-setup, verify-cocoapods, signing-style, build-number-offset), consolidating versioning logic into a single "Bump version" step with auto-detection, eliminating the ungated release job path in favor of environment-gated release_with_environment, and reorganizing build/release steps with consistent naming across setup, dependencies, archiving, export, and credential handling.

Changes

iOS TestFlight Workflow Refactoring

Layer / File(s) Summary
Input contract simplification and documentation
.github/workflows/generic-ios-testflight.yml
Removes obsolete inputs (install-react-native-cli, use-simplify9-xcode-setup, verify-cocoapods, signing-style, build-number-offset). Updates pbxproj-path documentation to describe auto-detection from ios-dir. Removes "ARCHIVE PATHS" header comment.
Release job gating and structure consolidation
.github/workflows/generic-ios-testflight.yml
Removes the ungated release job; consolidates on environment-gated release_with_environment only. Updates header comments and conditional logic to reflect unified release path. Renames build job announce step.
Build environment setup and dependency installation
.github/workflows/generic-ios-testflight.yml
Reorganizes Ruby setup, ccache initialization, and Xcode version selection steps. Renames Node dependency installation. Removes React Native CLI install step, proceeding directly to CocoaPods.
CocoaPods caching and consolidated version bumping
.github/workflows/generic-ios-testflight.yml
Renames CocoaPods caching/install steps ("Cache pod specs", "Cache pods", "Install pods"). Consolidates version bumping into a single "Bump version" step that auto-detects pbxproj-path and removes build-number-offset effect.
Signing, pod reinstall, and archiving refactoring
.github/workflows/generic-ios-testflight.yml
Separates signing into dedicated "Install certificate", checkpoint, "Install profile", and "Extract profile metadata" steps. Renames pod reinstall step. Adds standalone "Reset ccache stats" step preceding inline xcodebuild archive.
Export options generation and IPA export
.github/workflows/generic-ios-testflight.yml
Renames ExportOptions steps ("Generate export options", "Resolve export options"). Functional IPA export/rename/upload flow remains unchanged.
Build failure handling and summary output
.github/workflows/generic-ios-testflight.yml
Adds "Build failure" step and updates summary generation. Removes outdated summary fields (versioning strategy, manual-archive input). Gates ccache stats display to ENABLE_CCACHE only.
Release credential validation and upload preparation
.github/workflows/generic-ios-testflight.yml
Renames release IPA resolution step ("Resolve IPA path"). Standardizes credential/upload-prep steps: "Validate credentials", "Install API key", "Decode API key", "Prepare upload".
Release upload execution and confirmation
.github/workflows/generic-ios-testflight.yml
Renames upload flow steps: "Upload", "Confirm upload", "Upload (altool)" replace prior names. Functional upload logic preserved.
Release failure handling and summary
.github/workflows/generic-ios-testflight.yml
Renames "Release failure" and "Release summary" steps. Error messages and GITHUB_STEP_SUMMARY table structure preserved.
Input and release documentation updates
README.md
Removes use-simplify9-xcode-setup from documented inputs. Simplifies Notes section to explicitly state release runs in release_with_environment protected by approval gate.

Estimated code review effort

🎯 4 (Complex) | ⏱️ ~45 minutes

Possibly related PRs

  • simplify9/.github#88: Overlapping changes to TestFlight iOS versioning logic and build-number calculation in the same workflow.
  • simplify9/.github#87: Related refactoring of pbxproj version-bumping, archiving, and release upload step wiring in generic-ios-testflight.yml.
  • simplify9/.github#84: Connected release job changes to the TestFlight upload implementation flow.

Suggested reviewers

  • omarghatasheh
  • samerzughul

🐰 A workflow refreshed with inputs shed,
Steps renamed and release jobs bled,
Version bumping now unified and lean,
The cleanest TestFlight pipeline yet seen!
Auto-detection makes pbxproj shine,
Environment gates seal the deploy line. ✨

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title 'Enhance iOS TestFlight configuration and update README' accurately reflects the main changes: workflow restructuring and documentation updates.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

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

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch ios/finalizing

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.

@omarghatasheh omarghatasheh merged commit 9fc74f5 into main Jun 4, 2026
1 of 2 checks passed
@omarghatasheh omarghatasheh deleted the ios/finalizing branch June 4, 2026 12:04
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

documentation Improvements or additions to documentation enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants