relaycorp / relayverse

Issues that apply to multiple Awala-related projects from Relaycorp
https://github.com/relaycorp/relayverse/issues
0 stars 0 forks source link

Upgrade Kotlin to v1.6 across the board #39

Closed gnarea closed 1 year ago

gnarea commented 2 years ago

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 commented 2 years ago

@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 commented 2 years ago

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 commented 2 years ago

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.
  1. Upgrade Kotlin across all libraries and merge into the main branch.
  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)
  1. Extra issues (optional)
gnarea commented 2 years ago

LGTM 👌🏾

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

Filmaluco commented 2 years ago

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

Filmaluco commented 2 years ago

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

Filmaluco commented 2 years ago

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

Filmaluco commented 2 years ago

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

gnarea commented 2 years ago

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 commented 2 years ago

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

Filmaluco commented 2 years ago

Related to task 4: ✅

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

Filmaluco commented 2 years ago

@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 commented 2 years ago

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

Filmaluco commented 1 year ago

@gnarea I believe this can now be closed :D