Skip to content

Build SPM quickstart for FirebaseAI #14818

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

Merged
merged 15 commits into from
May 6, 2025
Merged

Build SPM quickstart for FirebaseAI #14818

merged 15 commits into from
May 6, 2025

Conversation

paulb777
Copy link
Member

@paulb777 paulb777 commented May 5, 2025

  • Initial infrastructure to add building SPM quickstarts to firebase-ios-sdk CI
  • Implementation for FirebaseAI

Future work

  • Update tooling to update an Xcodeproj from pointing to a firebase-ios-sdk release, as well as the main branch.
  • Add other Firebase products with SPM quickstarts and delete associated Legacy quickstart CocoaPods projects
  • [Low priority] Add run/test support to the quickstarts in addition to build

#no-changelog

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 in your pull request via creating an issue comment (i.e. comment on the pull request page) using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands.

Feature Command Description
Code Review /gemini review Performs a code review for the current pull request in its current state.
Pull Request Summary /gemini summary Provides a summary of the current pull request in its current state.
Comment @gemini-code-assist Responds in comments when explicitly tagged, both in issue comments and review comments.
Help /gemini help Displays a list of available commands.

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 is currently in preview and 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 to provide feedback.

@paulb777 paulb777 marked this pull request as draft May 5, 2025 22:54
@paulb777
Copy link
Member Author

paulb777 commented May 5, 2025

/gemini summary

Copy link
Contributor

Summary of Changes

This pull request introduces scripts to build and configure the FirebaseAI quickstart project for Swift Package Manager (SPM). It includes a script to set up the quickstart repository for integration testing in a CI environment, and another script to update the Xcode project file to use the current branch name. The scripts also handle setting up a placeholder GoogleService-Info.plist for build-only testing.

Highlights

  • New Script: quickstart_build_spm.sh: This script automates the process of setting up the quickstart repository for integration testing using SPM. It clones the quickstart-ios repository, installs xcpretty, updates the Xcode project, and copies a mock GoogleService-Info.plist file.
  • New Script: quickstart_spm_xcodeproj.sh: This script updates the Xcode project file to use the current branch name, ensuring that the project is configured correctly for the current development environment.

Changelog

  • scripts/quickstart_build_spm.sh
    • Creates a new script to setup the quickstart repo for integration testing in a CI environment.
    • Clones the quickstart-ios repository from GitHub.
    • Installs xcpretty for enhanced Xcode build output.
    • Executes quickstart_spm_xcodeproj.sh to update the Xcode project.
    • Copies a mock GoogleService-Info.plist file for build testing.
    • Runs the test script with SPM enabled and testing disabled.
  • scripts/quickstart_spm_xcodeproj.sh
    • Creates a new script to update the Xcode project file.
    • Replaces the 'branch = main;' entry in the project.pbxproj file with the current branch name, obtained from the $BRANCH_NAME environment variable.

Activity

  • gemini-code-assist[bot] provided general information about using Gemini Code Assist.
  • paulb777 requested a summary of the pull request via the /gemini summary command.

@paulb777 paulb777 marked this pull request as ready for review May 5, 2025 23:57
@paulb777 paulb777 closed this May 5, 2025
@paulb777 paulb777 reopened this May 5, 2025
@paulb777 paulb777 requested review from andrewheard and ncooke3 May 6, 2025 00:25
Copy link
Contributor

@andrewheard andrewheard left a comment

Choose a reason for hiding this comment

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

Thanks for setting this up! LGTM. All the nits are just ones I saw running it through ShellCheck.

paulb777 and others added 8 commits May 6, 2025 08:04
Co-authored-by: Andrew Heard <andrewheard@google.com>
Co-authored-by: Andrew Heard <andrewheard@google.com>
Co-authored-by: Andrew Heard <andrewheard@google.com>
Co-authored-by: Andrew Heard <andrewheard@google.com>
Co-authored-by: Andrew Heard <andrewheard@google.com>
Co-authored-by: Andrew Heard <andrewheard@google.com>
Co-authored-by: Andrew Heard <andrewheard@google.com>
Co-authored-by: Andrew Heard <andrewheard@google.com>
@paulb777 paulb777 merged commit a1476e8 into main May 6, 2025
37 of 51 checks passed
@paulb777 paulb777 deleted the pb-qs-spm branch May 6, 2025 15:21
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.

3 participants