Skip to content
  • MozLando's avatar
    Merge #4693 · ef631b6d
    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: default avatarGrisha Kruglov <gkruglov@mozilla.com>
    ef631b6d