Skip to content

[Swift 6] Add Swift 6 testing for SharedSwift #14557

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 6 commits into from
Mar 11, 2025
Merged

Conversation

ncooke3
Copy link
Member

@ncooke3 ncooke3 commented Mar 10, 2025

Adopting CI approach in #14503 to functions

#no-changelog

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.

Hello @ncooke3, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!

Summary of Changes

This pull request adds Swift 6 testing to the Functions framework. It modifies the .github/workflows/shared-swift.yml file to include a new job configuration that tests against Swift 6 using Xcode 16.2 on macOS 15. It also adds a step to set the Swift version in the FirebaseSharedSwift.podspec file based on the matrix variable.

Highlights

  • Swift 6 Testing: Adds a new CI configuration to test the Functions framework against Swift 6.
  • Workflow Modification: Modifies the shared-swift.yml workflow to include Swift 6 testing.
  • Swift Version Setting: Adds a step to set the Swift version in the FirebaseSharedSwift.podspec file.

Changelog

  • .github/workflows/shared-swift.yml
    • Adds a new build environment to the matrix for macOS-15, Xcode_16.2, and swift_version 6.0.
    • Adds a step to set the Swift version in the FirebaseSharedSwift.podspec file using sed.
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.

You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension.


A new Swift version, a testing quest,
To ensure our functions are truly the best.
With workflows adjusted and versions defined,
For Swift 6 compatibility, peace of mind.

Footnotes

  1. Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution.

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 adds Swift 6 testing to the Functions framework. The changes involve updating the CI configuration to include Swift 6 and modifying the podspec to set the Swift version. Overall, the changes seem reasonable, but there are a few points that need attention.

Summary of Findings

  • Swift version update in podspec: The FirebaseSharedSwift.podspec file is modified to set the Swift version dynamically based on the matrix.swift_version variable. This ensures that the correct Swift version is used during the build process.
  • CI configuration update: The CI configuration file .github/workflows/shared-swift.yml is updated to include a new entry for Swift 6 testing. This ensures that the Functions framework is tested against Swift 6.

Merge Readiness

The pull request introduces Swift 6 testing for the Functions framework. While the changes seem correct, I recommend addressing the identified issue before merging. I am unable to directly approve this pull request, so please have others review and approve this code before merging.

@ncooke3
Copy link
Member Author

ncooke3 commented Mar 11, 2025

success

@ncooke3 ncooke3 requested a review from paulb777 March 11, 2025 15:11
@ncooke3 ncooke3 changed the title [Swift 6] Add Swift 6 testing for Functions [Swift 6] Add Swift 6 testing for SharedSwift Mar 11, 2025
@ncooke3 ncooke3 merged commit 8ebc056 into main Mar 11, 2025
43 checks passed
@ncooke3 ncooke3 deleted the nc/shared-swift-ci branch March 11, 2025 15:26
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.

2 participants