Skip to content

Conversation

@ncooke3
Copy link
Member

@ncooke3 ncooke3 commented Nov 10, 2025

Corresponds to quickstart-ios/pull/1806

Follow-up work

  • Testing team onboarding
  • Re-usable workflows for zip
  • Cleanup Swift suffixes (including infra)
  • Migrate away from Ruby Xcodeproj (make an issue)

Fixes #8057

#no-changelog

@gemini-code-assist
Copy link
Contributor

Using Gemini Code Assist

The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.

Invoking Gemini

You can request assistance from Gemini at any point by creating a comment using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands on the current page.

Feature Command Description

Customization

To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/ folder in the base of the repository. Detailed instructions can be found here.

Limitations & Feedback

Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here.

@google-cla

This comment was marked as outdated.

@ncooke3 ncooke3 closed this Nov 10, 2025
@ncooke3 ncooke3 reopened this Nov 10, 2025
cancel-in-progress: true

jobs:
specs_checking:
Copy link
Member Author

Choose a reason for hiding this comment

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

Moving out cocoapods related infra to it's own file: prerelease_cocoapods.yml

run: sudo xcode-select -s /Applications/Xcode_16.4.app/Contents/Developer
- name: Setup testing repo and quickstart
run: BOT_TOKEN="${botaccess}" scripts/setup_quickstart.sh ${{ matrix.product }} prerelease_testing
run: QUICKSTART_BRANCH=nc/quickstarts scripts/setup_quickstart_spm.sh ${{ matrix.product }} prerelease_testing
Copy link
Member Author

Choose a reason for hiding this comment

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

Remove after merging nc/quickstarts into quickstarts-ios

cancel-in-progress: true

jobs:
specs_checking:
Copy link
Member Author

Choose a reason for hiding this comment

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

Moving cocoapods specific logic to new file, release_cocoapods.yml

run: gem install xcpretty
- name: Setup testing repo and quickstart
run: BOT_TOKEN="${botaccess}" scripts/setup_quickstart.sh ${{ matrix.product }} nightly_release_testing
run: QUICKSTART_BRANCH=nc/quickstarts scripts/setup_quickstart_spm.sh ${{ matrix.product }} nightly_release_testing
Copy link
Member Author

Choose a reason for hiding this comment

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

Suggested change
run: QUICKSTART_BRANCH=nc/quickstarts scripts/setup_quickstart_spm.sh ${{ matrix.product }} nightly_release_testing
run: scripts/setup_quickstart_spm.sh ${{ matrix.product }} nightly_release_testing

fi
QS_SCRIPTS="${REPO}"/quickstart-ios/scripts
cd quickstart-ios/"${SAMPLE}"
git checkout nc/quickstarts
Copy link
Member Author

@ncooke3 ncooke3 Nov 11, 2025

Choose a reason for hiding this comment

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

Remove

Suggested change
git checkout nc/quickstarts

@@ -1,4 +1,5 @@
# To update, change version below, run bundle install, test,
#
Copy link
Member Author

Choose a reason for hiding this comment

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

Suggested change
#

@ncooke3 ncooke3 changed the title Nc/quickstarts infra: Migrate away from ObjC quickstarts Nov 12, 2025
@ncooke3 ncooke3 closed this Nov 13, 2025
@ncooke3 ncooke3 reopened this Nov 13, 2025
@ncooke3
Copy link
Member Author

ncooke3 commented Nov 14, 2025

/gemini review

Copy link
Contributor

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

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

Code Review

This pull request is a significant infrastructure update to migrate away from Objective-C quickstarts. It introduces several new scripts (patch_crashlytics_run_path.rb, remove_spm_dependencies.rb, setup_quickstart_spm.sh) to handle Xcode project modifications and SPM setup in a more automated and robust way. Existing scripts are also improved with better error handling, robustness, and simplification. The changes are well-structured and greatly improve the CI process for testing quickstarts. I have a couple of minor suggestions to further improve the new scripts' reusability and consistency.

Comment on lines +26 to +27
project_path = 'quickstart-ios/crashlytics/CrashlyticsExample.xcodeproj'
project = Xcodeproj::Project.open(project_path)
Copy link
Contributor

Choose a reason for hiding this comment

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

medium

The project path is hardcoded, which limits the script's reusability. It would be more flexible if the path was provided as a command-line argument. Additionally, it's good practice to add error handling for Xcodeproj::Project.open to gracefully handle cases where the file doesn't exist or is corrupted. This would make the script more robust and align it with the pattern used in scripts/remove_spm_dependencies.rb.

unless ARGV.length == 1
  puts "Usage: #{$0} <path_to.xcodeproj>"
  exit 1
end
project_path = ARGV[0]

begin
  project = Xcodeproj::Project.open(project_path)
rescue => e
  puts "Error opening project at #{project_path}: #{e.message}"
  exit 1
end

DIR="${SDK}/Legacy${SDK}Quickstart"
TARGET_DIR="quickstart-ios/${DIR}"

if [ ! -d "$TARGET_DIR" ]; then
Copy link
Contributor

Choose a reason for hiding this comment

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

low

For consistency with the rest of the script (e.g., line 19), consider using [[ ... ]] instead of [ ... ]. The [[ ... ]] construct is more modern and generally safer in bash as it prevents issues with word splitting and pathname expansion.

Suggested change
if [ ! -d "$TARGET_DIR" ]; then
if [[ ! -d "$TARGET_DIR" ]]; then

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.

Restore Crashlytics Swift test to zip GHA workflow

1 participant