Skip to content
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

Upgrade Kotlin to v1.6 across the board #39

Closed
gnarea opened this issue May 5, 2022 · 14 comments
Closed

Upgrade Kotlin to v1.6 across the board #39

gnarea opened this issue May 5, 2022 · 14 comments
Assignees

Comments

@gnarea
Copy link
Member

gnarea commented May 5, 2022

I've been putting this off due to the nightmares caused by the Kotlin 1.5 upgrade, but I'd like to think it'd be different this time.

The most important lesson I learnt last time is to do the upgrade in the following phases, to make debugging manageable:

  1. Upgrade all the build- and run-time dependencies in the Awala libraries* (core, PoWeb, etc), but don't upgrade Kotlin yet.
  2. Upgrade all the build/runtime/testing/etc dependencies in the apps* (Gateway, Courier and Ping), but don't upgrade Kotlin yet.
  3. Test the apps and fix any upgrade issues.
  4. Upgrade Kotlin across all libraries and merge into the main branch.
  5. Update the apps to use Kotlin 1.6 along with the latest versions of the Awala libraries.

* I'd rather defer the upgrade to ktor v2 if we can, because that's a mini project in its own right.

Thoughts, @sdsantos?

@sdsantos
Copy link

sdsantos commented May 5, 2022

@gnarea sounds like a good plan. I'm not sure how far being we are on the other dependencies to assess how risky it is to skip steps 1 and 2. Nevertheless, this needs one of those huge todo lists with all the steps for all the repos.

@gnarea
Copy link
Member Author

gnarea commented May 5, 2022

Great! Based on past experience, my hunch is that anything that isn't ktor/kotlin will be easy to upgrade, but I could be proven wrong!

@sdsantos
Copy link

sdsantos commented May 18, 2022

So, here's a big to-do list:

  1. Upgrade all the build- and run-time dependencies in the Awala libraries* (core, PoWeb, etc), but don't upgrade Kotlin yet.
  1. Upgrade all the build/runtime/testing/etc dependencies in the apps* (Gateway, Courier and Ping), but don't upgrade Kotlin yet.
  1. Test the apps and fix any upgrade issues.
  • awala-courier-android
  • awala-gateway-android
  • awala-ping-android
  1. Upgrade Kotlin across all libraries and merge into the main branch.
  • awala-jvm
  • awala-testing-jvm
  • awala-poweb-jvm
  • awala-cogrpc-jvm
  • awala-cogrpc-okhttp-jvm
  • awala-keystore-file-jvm
  • awala-endpoint-android
  1. Update the apps to use Kotlin 1.6 along with the latest versions of the Awala libraries. (defer the upgrade to ktor v2 if possible)
  • awala-courier-android
  • awala-gateway-android
  • awala-ping-android
  1. Extra issues (optional)

@gnarea
Copy link
Member Author

gnarea commented May 19, 2022

LGTM 👌🏾

FYI, there's also the DoH library, but an external contributor is working on it (relaycorp/doh-jvm#128). It does mean, however, that we can't upgrade the DoH lib in the apps for the time being.

kodiakhq bot pushed a commit to relaycorp/awala-testing-jvm that referenced this issue May 19, 2022
kodiakhq bot pushed a commit to relaycorp/awala-cogrpc-jvm that referenced this issue May 31, 2022
@Filmaluco
Copy link

Related to point 2. awala-ping-android task the PR can be found here:
relaycorp/awala-ping-android#249

@Filmaluco
Copy link

Related to point 2. awala-gateway-android task the PR can be found here:
relaycorp/relaynet-gateway-android#623

@Filmaluco
Copy link

Related to point 2. relaynet-courier-android task the PR can be found here:
relaycorp/relaynet-courier-android#521

@Filmaluco
Copy link

Filmaluco commented Jun 2, 2022

Related to point 3, I tested both the Gateway and the Ping app... and issues should be fixed on the branches aboves

@gnarea
Copy link
Member Author

gnarea commented Jun 6, 2022

Related to point 3, I tested both the Gateway and the Ping app

Do you mean both apps had the latest code from those branches?

@Filmaluco
Copy link

Filmaluco commented Jun 6, 2022

@gnarea yes :)
update: (08/06/2022) I have now also tested Courier

@Filmaluco
Copy link

Related to task 4: ✅

Except awala-poweb-jvm is missing on PRs approvals for:

@gnarea gnarea closed this as completed Aug 17, 2022
@Filmaluco
Copy link

@gnarea awala-gateway-android still is using 1.5.21, (point 5.) is the last one missing, I will take care of it but worth mentioning.

@gnarea
Copy link
Member Author

gnarea commented Aug 17, 2022

Good catch @Filmaluco! That TODO list is out-of-date but I thought all the apps were updated. I'll reopen this.

@gnarea gnarea reopened this Aug 17, 2022
@Filmaluco
Copy link

@gnarea I believe this can now be closed :D

@gnarea gnarea closed this as completed Nov 17, 2022
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

No branches or pull requests

3 participants