Skip to content

[DEV] Testing upgrades

Mitchell Hentges edited this page Oct 8, 2018 · 1 revision

James has a built-in upgrader, which means users are less likely to be manually watching for newer releases. So, we should be confident that we don't release a version of James that no longer updates properly.

Three platforms should be tested:

  • Linux (testable by @mitchhentges)
  • Mac (testable by @nerdbeere and @mitchhentges)
  • Windows (testable by @tomitm and @mitchhentges)

How to upgrade-test:

  1. Install an HTTP file server like serve
  2. Create a "future" build of James to upgrade to
    1. Update version in package.json (bump by two versions)
    2. npm run dist-upgrade-test (or dist-upgrade-test:win64 on Windows)
    3. Copy then contents of binaries to a new folder (outside of james repository)
    4. Within the new folder, run an HTTP file server on port 9000 (serve -p 9000)
  3. Create a "future" build of James to upgrade from
    1. Update version in package.json (bump back to the expected version of the new release)
    2. npm run dist-upgrade-test (or dist-upgrade-test:win64 on Windows)
  4. Run the correct binary in binaries
  5. Ensure that the status is shown properly in the bottom-right of James, and that the update completes correctly
Clone this wiki locally