firebase-android-sdk icon indicating copy to clipboard operation
firebase-android-sdk copied to clipboard

Functions migration to Kotlin

Open emilypgoogle opened this issue 1 year ago • 10 comments

done with automated tooling, to investigate the viability of quick migrations pre API changes.

emilypgoogle avatar Sep 21 '23 20:09 emilypgoogle

Unit Test Results

20 files   -      936  20 suites   - 936   31s :stopwatch: - 34m 14s 23 tests  -   5 241  23 :heavy_check_mark:  -   5 210  0 :zzz:  - 21  0 :x:  - 10  68 runs   - 10 545  68 :heavy_check_mark:  - 10 493  0 :zzz:  - 42  0 :x:  - 10 

Results for commit 8770f0ec. ± Comparison against base commit 856457ae.

:recycle: This comment has been updated with latest results.

github-actions[bot] avatar Sep 21 '23 20:09 github-actions[bot]

Coverage Report 1

Affected Products

  • firebase-functions

    Overall coverage changed from 33.84% (9ed73c4) to 34.62% (f0198da) by +0.77%.

    14 individual files with coverage change

    FilenameBase (9ed73c4)Merge (f0198da)Diff
    ContextProvider.kt?0.00%?
    FirebaseContextProvider.kt?27.78%?
    FirebaseFunctions.kt?25.00%?
    FirebaseFunctionsException.kt?0.00%?
    FunctionsComponent.kt?100.00%?
    FunctionsComponent_MainModule_Companion_BindProjectIdFactory.java?0.00%?
    FunctionsMultiResourceComponent.kt?100.00%?
    FunctionsRegistrar.kt?100.00%?
    HttpsCallableContext.kt?0.00%?
    HttpsCallableOptions.kt?55.56%?
    HttpsCallableReference.kt?52.00%?
    HttpsCallableResult.kt?0.00%?
    HttpsCallOptions.kt?52.63%?
    Serializer.kt?5.15%?

Test Logs

google-oss-bot avatar Sep 21 '23 20:09 google-oss-bot

Size Report 1

Affected Products

  • firebase-functions

    TypeBase (9ed73c4)Merge (f0198da)Diff
    aar50.1 kB65.8 kB+15.7 kB (+31.3%)
    apk (aggressive)439 kB440 kB+752 B (+0.2%)
    apk (release)5.43 MB5.44 MB+14.3 kB (+0.3%)

Test Logs

google-oss-bot avatar Oct 20 '23 16:10 google-oss-bot

The test failures are valid (esp the unit tests for functions). I'll see if I can't personally take a look later

Took a look and I can't repro the unit/integ test failures locally, wondering what's causing the failure in CI

emilypgoogle avatar Nov 02 '23 21:11 emilypgoogle

buildSrc Test Results

37 tests   37 :heavy_check_mark:  1m 4s :stopwatch:   8 suites    0 :zzz:   8 files      0 :x:

Results for commit fac44a6a.

:recycle: This comment has been updated with latest results.

github-actions[bot] avatar Jan 11 '24 20:01 github-actions[bot]

The public api surface has changed for the subproject firebase-functions: error: Added method com.google.firebase.functions.FirebaseFunctions.call(String,Object,com.google.firebase.functions.HttpsCallOptions) [AddedMethod] error: Added method com.google.firebase.functions.FirebaseFunctions.call(java.net.URL,Object,com.google.firebase.functions.HttpsCallOptions) [AddedMethod] error: Method com.google.firebase.functions.FirebaseFunctions.getHttpsCallable has added 'final' qualifier [AddedFinal] error: Method com.google.firebase.functions.FirebaseFunctions.getHttpsCallable has added 'final' qualifier [AddedFinal] error: Method com.google.firebase.functions.FirebaseFunctions.getHttpsCallableFromUrl has added 'final' qualifier [AddedFinal] error: Method com.google.firebase.functions.FirebaseFunctions.getHttpsCallableFromUrl has added 'final' qualifier [AddedFinal] error: Added method com.google.firebase.functions.FirebaseFunctions.getURL(String) [AddedMethod] error: Method com.google.firebase.functions.FirebaseFunctions.useEmulator has added 'final' qualifier [AddedFinal] error: Method com.google.firebase.functions.FirebaseFunctions.useFunctionsEmulator has added 'final' qualifier [AddedFinal] error: Added field com.google.firebase.functions.FirebaseFunctions.Companion [AddedField] error: Added class com.google.firebase.functions.FirebaseFunctions.Companion [AddedClass] error: Added method com.google.firebase.functions.FirebaseFunctionsException.fromResponse(com.google.firebase.functions.FirebaseFunctionsException.Code,String,com.google.firebase.functions.Serializer) [AddedMethod] error: Method com.google.firebase.functions.FirebaseFunctionsException.getCode has added 'final' qualifier [AddedFinal] error: Method com.google.firebase.functions.FirebaseFunctionsException.getDetails has added 'final' qualifier [AddedFinal] error: Added field com.google.firebase.functions.FirebaseFunctionsException.Companion [AddedField] error: Added method com.google.firebase.functions.FirebaseFunctionsException.Code.fromHttpStatus(int) [AddedMethod] error: Added method com.google.firebase.functions.FirebaseFunctionsException.Code.fromValue(int) [AddedMethod] error: Added field com.google.firebase.functions.FirebaseFunctionsException.Code.Companion [AddedField] error: Added class com.google.firebase.functions.FirebaseFunctionsException.Code.Companion [AddedClass] error: Added class com.google.firebase.functions.FirebaseFunctionsException.Companion [AddedClass] error: Added class com.google.firebase.functions.HttpsCallOptions [AddedClass] error: Method com.google.firebase.functions.HttpsCallableOptions.getLimitedUseAppCheckTokens has added 'final' qualifier [AddedFinal] error: Added field com.google.firebase.functions.HttpsCallableOptions.limitedUseAppCheckTokens [AddedField] error: Class com.google.firebase.functions.HttpsCallableOptions.Builder added 'final' qualifier [AddedFinal] error: Constructor com.google.firebase.functions.HttpsCallableOptions.Builder has added 'final' qualifier [AddedFinal] error: Method com.google.firebase.functions.HttpsCallableOptions.Builder.build has added 'final' qualifier [AddedFinal] error: Method com.google.firebase.functions.HttpsCallableOptions.Builder.getLimitedUseAppCheckTokens has added 'final' qualifier [AddedFinal] error: Method com.google.firebase.functions.HttpsCallableOptions.Builder.setLimitedUseAppCheckTokens has added 'final' qualifier [AddedFinal] error: Added field com.google.firebase.functions.HttpsCallableOptions.Builder.limitedUseAppCheckTokens [AddedField] error: Method com.google.firebase.functions.HttpsCallableReference.call has added 'final' qualifier [AddedFinal] error: Method com.google.firebase.functions.HttpsCallableReference.call has added 'final' qualifier [AddedFinal] error: Added method com.google.firebase.functions.HttpsCallableReference.getOptions() [AddedMethod] error: Method com.google.firebase.functions.HttpsCallableReference.getTimeout has added 'final' qualifier [AddedFinal] error: Method com.google.firebase.functions.HttpsCallableReference.setTimeout has added 'final' qualifier [AddedFinal] error: Method com.google.firebase.functions.HttpsCallableReference.withTimeout has added 'final' qualifier [AddedFinal] error: Method com.google.firebase.functions.HttpsCallableResult.getData has added 'final' qualifier [AddedFinal] error: Added class com.google.firebase.functions.Serializer [AddedClass]

Please update the api.txt files for the subprojects being affected by this change by running ./gradlew ${subproject}:generateApiTxtFile. Also perform a major/minor bump accordingly.

google-oss-bot avatar Jan 11 '24 21:01 google-oss-bot

1 Warning
:warning: Did you forget to add a changelog entry? (Add the 'no-changelog' label to the PR to silence this warning.)

Generated by :no_entry_sign: Danger

google-oss-bot avatar Jan 12 '24 22:01 google-oss-bot

Release note changes

No release note changes were detected. If you made changes that should be present in the next release, ensure you've added an entry in the appropriate CHANGELOG.md file(s).

github-actions[bot] avatar Jul 25 '24 17:07 github-actions[bot]

Startup Time Report 1

Note: Layout is sometimes suboptimal due to limited formatting support on GitHub. Please check this report on GCS.

Notes

Startup Times

  • fire-fn

    DeviceStatisticsDistributions
    oriole-32
    Percentile9ed73c4f0198daDiffSignificant (?)
    p1064.4 ±7 μs90.3 ±11 μs+25.9 μs (+40.3%)MAYBE
    p2569.2 ±8 μs94.6 ±12 μs+25.4 μs (+36.7%)NO
    p5077.8 ±13 μs101 ±14 μs+23.1 μs (+29.7%)NO
    p7594.9 ±26 μs117 ±25 μs+22.1 μs (+23.3%)NO
    p90121 ±58 μs143 ±47 μs+22.3 μs (+18.5%)NO

    20 test runs in comparison
    CommitTest Runs
    9ed73c4
    • 2024-08-06_18:04:19.854558_fqzS
    • 2024-08-06_18:04:19.854602_xXwX
    • 2024-08-06_18:04:19.854612_RgXy
    • 2024-08-06_18:04:19.854622_GOoW
    • 2024-08-06_18:04:19.854629_rgQV
    • 2024-08-06_18:04:19.854637_UsDL
    • 2024-08-06_18:04:19.854645_eOzE
    • 2024-08-06_18:04:19.854651_KrZL
    • 2024-08-06_18:04:19.854657_uEBJ
    • 2024-08-06_18:04:19.854673_krni
    f0198da
    • 2024-08-06_21:18:19.599802_JPWz
    • 2024-08-06_21:18:19.599843_kNGE
    • 2024-08-06_21:18:19.599854_NofV
    • 2024-08-06_21:18:19.599862_XqWY
    • 2024-08-06_21:18:19.599869_BtQj
    • 2024-08-06_21:18:19.599877_rUew
    • 2024-08-06_21:18:19.599884_Ldmd
    • 2024-08-06_21:18:19.599891_HBJo
    • 2024-08-06_21:18:19.599898_vgPb
    • 2024-08-06_21:18:19.599905_KuTu
    redfin-30
    Percentile9ed73c4f0198daDiffSignificant (?)
    p10135 ±11 μs175 ±18 μs+39.9 μs (+29.6%)NO
    p25142 ±12 μs184 ±19 μs+41.6 μs (+29.3%)NO
    p50152 ±13 μs196 ±22 μs+44.3 μs (+29.2%)NO
    p75167 ±16 μs212 ±27 μs+45.6 μs (+27.3%)NO
    p90190 ±26 μs245 ±46 μs+55.4 μs (+29.2%)NO

    20 test runs in comparison
    CommitTest Runs
    9ed73c4
    • 2024-08-06_18:04:19.854558_fqzS
    • 2024-08-06_18:04:19.854602_xXwX
    • 2024-08-06_18:04:19.854612_RgXy
    • 2024-08-06_18:04:19.854622_GOoW
    • 2024-08-06_18:04:19.854629_rgQV
    • 2024-08-06_18:04:19.854637_UsDL
    • 2024-08-06_18:04:19.854645_eOzE
    • 2024-08-06_18:04:19.854651_KrZL
    • 2024-08-06_18:04:19.854657_uEBJ
    • 2024-08-06_18:04:19.854673_krni
    f0198da
    • 2024-08-06_21:18:19.599802_JPWz
    • 2024-08-06_21:18:19.599843_kNGE
    • 2024-08-06_21:18:19.599854_NofV
    • 2024-08-06_21:18:19.599862_XqWY
    • 2024-08-06_21:18:19.599869_BtQj
    • 2024-08-06_21:18:19.599877_rUew
    • 2024-08-06_21:18:19.599884_Ldmd
    • 2024-08-06_21:18:19.599891_HBJo
    • 2024-08-06_21:18:19.599898_vgPb
    • 2024-08-06_21:18:19.599905_KuTu
  • timeToInitialDisplay

    DeviceStatisticsDistributions
    oriole-32
    Percentile9ed73c4f0198daDiffSignificant (?)
    p10201 ±5 ms204 ±3 ms+3.40 ms (+1.7%)NO
    p25206 ±5 ms210 ±3 ms+3.72 ms (+1.8%)NO
    p50214 ±5 ms217 ±2 ms+3.32 ms (+1.6%)NO
    p75221 ±6 ms227 ±4 ms+5.49 ms (+2.5%)NO
    p90228 ±7 ms240 ±7 ms+11.5 ms (+5.0%)NO

    20 test runs in comparison
    CommitTest Runs
    9ed73c4
    • 2024-08-06_18:04:19.854558_fqzS
    • 2024-08-06_18:04:19.854602_xXwX
    • 2024-08-06_18:04:19.854612_RgXy
    • 2024-08-06_18:04:19.854622_GOoW
    • 2024-08-06_18:04:19.854629_rgQV
    • 2024-08-06_18:04:19.854637_UsDL
    • 2024-08-06_18:04:19.854645_eOzE
    • 2024-08-06_18:04:19.854651_KrZL
    • 2024-08-06_18:04:19.854657_uEBJ
    • 2024-08-06_18:04:19.854673_krni
    f0198da
    • 2024-08-06_21:18:19.599802_JPWz
    • 2024-08-06_21:18:19.599843_kNGE
    • 2024-08-06_21:18:19.599854_NofV
    • 2024-08-06_21:18:19.599862_XqWY
    • 2024-08-06_21:18:19.599869_BtQj
    • 2024-08-06_21:18:19.599877_rUew
    • 2024-08-06_21:18:19.599884_Ldmd
    • 2024-08-06_21:18:19.599891_HBJo
    • 2024-08-06_21:18:19.599898_vgPb
    • 2024-08-06_21:18:19.599905_KuTu
    redfin-30
    Percentile9ed73c4f0198daDiffSignificant (?)
    p10243 ±3 ms265 ±4 ms+22.4 ms (+9.2%)YES
    p25248 ±3 ms272 ±4 ms+23.8 ms (+9.6%)YES
    p50255 ±4 ms279 ±5 ms+24.2 ms (+9.5%)YES
    p75262 ±4 ms289 ±5 ms+27.0 ms (+10.3%)YES
    p90273 ±4 ms305 ±8 ms+32.1 ms (+11.8%)MAYBE

    20 test runs in comparison
    CommitTest Runs
    9ed73c4
    • 2024-08-06_18:04:19.854558_fqzS
    • 2024-08-06_18:04:19.854602_xXwX
    • 2024-08-06_18:04:19.854612_RgXy
    • 2024-08-06_18:04:19.854622_GOoW
    • 2024-08-06_18:04:19.854629_rgQV
    • 2024-08-06_18:04:19.854637_UsDL
    • 2024-08-06_18:04:19.854645_eOzE
    • 2024-08-06_18:04:19.854651_KrZL
    • 2024-08-06_18:04:19.854657_uEBJ
    • 2024-08-06_18:04:19.854673_krni
    f0198da
    • 2024-08-06_21:18:19.599802_JPWz
    • 2024-08-06_21:18:19.599843_kNGE
    • 2024-08-06_21:18:19.599854_NofV
    • 2024-08-06_21:18:19.599862_XqWY
    • 2024-08-06_21:18:19.599869_BtQj
    • 2024-08-06_21:18:19.599877_rUew
    • 2024-08-06_21:18:19.599884_Ldmd
    • 2024-08-06_21:18:19.599891_HBJo
    • 2024-08-06_21:18:19.599898_vgPb
    • 2024-08-06_21:18:19.599905_KuTu

google-oss-bot avatar Jul 25 '24 17:07 google-oss-bot

The public api surface has changed for the subproject firebase-functions: error: Removed method com.google.firebase.functions.FirebaseFunctions.call(String,Object,com.google.firebase.functions.HttpsCallOptions) [RemovedMethod] error: Removed method com.google.firebase.functions.FirebaseFunctions.call(java.net.URL,Object,com.google.firebase.functions.HttpsCallOptions) [RemovedMethod] error: Attempted to remove parameter name from parameter arg1 in com.google.firebase.functions.FirebaseFunctions.getHttpsCallable [ParameterNameChange] error: Attempted to remove parameter name from parameter arg1 in com.google.firebase.functions.FirebaseFunctions.getHttpsCallable [ParameterNameChange] error: Attempted to remove parameter name from parameter arg2 in com.google.firebase.functions.FirebaseFunctions.getHttpsCallable [ParameterNameChange] error: Attempted to remove parameter name from parameter arg1 in com.google.firebase.functions.FirebaseFunctions.getHttpsCallableFromUrl [ParameterNameChange] error: Attempted to remove parameter name from parameter arg1 in com.google.firebase.functions.FirebaseFunctions.getHttpsCallableFromUrl [ParameterNameChange] error: Attempted to remove parameter name from parameter arg2 in com.google.firebase.functions.FirebaseFunctions.getHttpsCallableFromUrl [ParameterNameChange] error: Attempted to remove parameter name from parameter arg1 in com.google.firebase.functions.FirebaseFunctions.getInstance [ParameterNameChange] error: Attempted to remove parameter name from parameter arg1 in com.google.firebase.functions.FirebaseFunctions.getInstance [ParameterNameChange] error: Attempted to remove parameter name from parameter arg1 in com.google.firebase.functions.FirebaseFunctions.getInstance [ParameterNameChange] error: Attempted to remove parameter name from parameter arg2 in com.google.firebase.functions.FirebaseFunctions.getInstance [ParameterNameChange] error: Removed method com.google.firebase.functions.FirebaseFunctions.getURL(String) [RemovedMethod] error: Attempted to remove parameter name from parameter arg1 in com.google.firebase.functions.FirebaseFunctions.useEmulator [ParameterNameChange] error: Attempted to remove parameter name from parameter arg2 in com.google.firebase.functions.FirebaseFunctions.useEmulator [ParameterNameChange] error: Attempted to remove parameter name from parameter arg1 in com.google.firebase.functions.FirebaseFunctions.useFunctionsEmulator [ParameterNameChange] error: Removed field com.google.firebase.functions.FirebaseFunctions.Companion [RemovedField] error: Removed class com.google.firebase.functions.FirebaseFunctions.Companion [RemovedClass]

Please update the api.txt files for the subprojects being affected by this change by running ./gradlew ${subproject}:generateApiTxtFile. Also perform a major/minor bump accordingly.

google-oss-bot avatar Jul 29 '24 17:07 google-oss-bot