-
MozLando authored
4693: Fennec data migration scaffolding r=pocmo a=grigoryk This is going to be a rolling PR for a little bit, until this is ready to land. Companion Fenix PR: https://github.com/mozilla-mobile/fenix/pull/5878 Workflow for testing it: - fetch an ESR68 build from TC: https://tools.taskcluster.net/index/gecko.v2.mozilla-esr68.signed-nightly.nightly.latest.mobile - re-sign it using a local debug keystore: - `zip -d target.apk "META-INF/*"` - `~/Code/mozilla-central/mobile/android/debug_sign_tool.py target.apk` - enable auto-publication workflow for a-c in fenix - assemble fennecProduction version of Fenix (built against this branch, see auto-publication) - `./gradlew assembleFennecProduction` - sign it using keys used to sign fennec esr apk (otherwise we won't be able to overwrite one with another): - `~/Code/mozilla-central/mobile/android/debug_sign_tool.py app/build/outputs/apk/geckoBeta/fennecProduction/app-geckoBeta-x86-fennecProduction-unsigned.apk` - install fennec esr apk build - generate some profile data for migration (sign-into fxa, browse around, etc..) - install fenix build: `adb install -r app/build/outputs/apk/geckoBeta/fennecProduction/app-geckoBeta-x86-fennecProduction-unsigned.apk` TODO: - currently needs https://github.com/mozilla/application-services/pull/1942 to work - add separate migration versioning for history and bookmarks; currently the whole thing is versioned - add migration tests - in fennec, we have a bunch of "schema migration" tests that operate over older versions of browser.db - this is a good approach here as well - we can run migration code in tests against a few test db files, that exercise various history/bookmarks configurations and try multiple schema versions - improve the workflow around this, it's quite tedious currently Co-authored-by: Grisha Kruglov <gkruglov@mozilla.com>
ef631b6d