-
Notifications
You must be signed in to change notification settings - Fork 621
[test] Use ktor3 #7052
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
base: main
Are you sure you want to change the base?
[test] Use ktor3 #7052
Conversation
Test using ktor3 as the network stack
📝 PRs merging into main branchOur main branch should always be in a releasable state. If you are working on a larger change, or if you don't want this change to see the light of the day just yet, consider using a feature branch first, and only merge into the main branch when the code complete and ready to be released. |
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.
Summary of Changes
Hello @rlazo, 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!
This pull request is a test to evaluate the project's compatibility with Ktor 3 as the network stack. My primary goal is to update the necessary core and related dependency versions to facilitate this potential migration and ensure everything compiles and runs as expected.
Highlights
- Dependency Updates: I've updated the project's dependencies to test compatibility with Ktor 3. This includes upgrading
ktorVersion
to3.0.3
,kotlin
to2.0.21
, andserialization
to1.7.3
.
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.
Footnotes
-
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. ↩
Firebase AI Mock Responses Check
|
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.
Code Review
This PR updates Kotlin to 2.0.21, Ktor to 3.0.3, and Kotlinx Serialization to 1.7.3. The primary concern is the Ktor upgrade to v3, a major change that typically involves breaking API changes. This PR only updates the version string; if Ktor is in use, code adaptations are necessary for the project to compile and function with Ktor 3, aligning with the PR's goal to "Test using ktor3". The Kotlin 2.0 and Kotlinx Serialization upgrades also warrant thorough testing. Clarification on whether this PR is solely for version bumping or includes full Ktor 3 integration would be beneficial.
kotlin = "1.8.22" | ||
ktorVersion = "2.3.2" | ||
kotlin = "2.0.21" | ||
ktorVersion = "3.0.3" |
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.
Upgrading Ktor from 2.3.2 to 3.0.3 is a major version change that typically includes breaking API changes. This PR updates the version number, but there are no corresponding code changes to adapt existing Ktor usage (if any) to the new Ktor 3.x APIs.
If Ktor is currently used in the project, this change will likely cause compilation errors or runtime issues, preventing the goal stated in the PR title/description to "Test using ktor3".
To effectively test Ktor 3, the necessary code adaptations for its new APIs should be included. If this PR is intended only as a version bump, with code changes to follow, please clarify this in the PR description. Otherwise, the required code modifications for Ktor 3 compatibility are missing.
@@ -68,7 +68,7 @@ robolectric = "4.12" | |||
runner = "1.0.2" | |||
rxandroid = "2.0.2" | |||
rxjava = "2.1.14" | |||
serialization = "1.5.1" | |||
serialization = "1.7.3" |
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.
The update from Kotlinx Serialization 1.5.1 to 1.7.3 is a significant version upgrade. While generally beneficial, major version changes can sometimes introduce subtle behavioral differences or require adjustments to build configurations and plugin compatibilities.
It's crucial to perform thorough testing across the project to ensure everything compiles correctly and all existing tests pass. Pay attention to any new compiler diagnostics or runtime behaviors.
@@ -45,8 +45,8 @@ javalite = "3.25.5" | |||
jsonassert = "1.5.0" | |||
kotest = "5.9.0" # Do not use 5.9.1 because it reverts the fix for https://github.com/kotest/kotest/issues/3981 | |||
kotestAssertionsCore = "5.8.1" | |||
kotlin = "1.8.22" | |||
ktorVersion = "2.3.2" | |||
kotlin = "2.0.21" |
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.
The update from Kotlin 1.8.22 to 2.0.21 is a significant language version upgrade. While Kotlin 2.0 aims for backward compatibility and brings many improvements, major version changes can sometimes introduce subtle behavioral differences, new compiler warnings/errors, or require adjustments to build configurations and plugin compatibilities.
It's crucial to perform thorough testing across the project to ensure everything compiles correctly and all existing tests pass. Pay attention to any new compiler diagnostics or runtime behaviors.
Test Results 869 files + 869 869 suites +869 27m 10s ⏱️ + 27m 10s For more details on these failures, see this check. Results for commit 29406b4. ± Comparison against base commit cbb470a. |
Coverage Report 1Affected Products
Test Logs |
@@ -45,8 +45,8 @@ javalite = "3.25.5" | |||
jsonassert = "1.5.0" | |||
kotest = "5.9.0" # Do not use 5.9.1 because it reverts the fix for https://github.com/kotest/kotest/issues/3981 | |||
kotestAssertionsCore = "5.8.1" | |||
kotlin = "1.8.22" | |||
ktorVersion = "2.3.2" | |||
kotlin = "2.0.21" |
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.
FWIW Gradle 9 also uses Kotlin 2 :)
(I hope this makes our transition smoother when the time comes)
https://docs.gradle.org/9.0.0-rc-1/release-notes.html#update-to-kotlin-2
Test using ktor3 as the network stack