Upgrading V11 Multi Tenant to version 12

I’m happy to report that after much effort, I managed to upgrade my multi tenant version 11 to version 12 running on Centos 7.4

For the benefit of others I’d like to list the Challenges I faced.

Upon trying command bench switch-to-branch version-11, I encountered several errors related to my custom apps which I backed up and uninstalled before retrying.
Then I did bench update --patch before doing bench update
This went well as long as I did not have custom apps.

Next I did bench switch-to-branch version-12 which obviously refused until I added option –upgrade
When I did that I had so many dependency errors which I had to work on one by one.
First I installed and migrated my python from 2.7 to 3.6.
The rest involved updating or installing or upgrading missing/old dependencies using ‘npm’
Dependencies that needed attention are:
yarn,
node.js,
popper.js
and jquery .
Without these, my version 12 update would exit with error at the stage when it is trying to build assets. When I tried to open a site in the browser after this error, the page would load but without any CSS or JS meaning I couldn’t even login.
I hope this sheds some light to anyone facing challenges.

My last challenge however is failure to send emails after upgrade which I’m still looking at