-
Notifications
You must be signed in to change notification settings - Fork 25
Updating Dependencies
Updating dependencies in a complex system like elmo is, well, complex. Here's what you should do when you update some external dependencies.
compare-locales is used in elmo, locale-inspector and slave-ball.
elmo uses compare-locales in the diff view in the pushes app. Run those tests. You update compare-locales by updating the submodule in vendor-local/src/compare-locales
locale-inspector uses compare-locales in slave.py, the tests for this are on tests/test_compare.py. Run these, and update these if feasible by the update to compare-locales.
locale-inspector tests require a good of weird stuff, including that runAll triggers a Django bug. You'll need to run that with a patched dumpdata.py. It'll write out allruns.json and mounts_local.py, which you can use to visually inspect the compare-locales results from within elmo.
slave-ball pulls in compare-locales through locale-inspector's slave.py code. You want to run locale-inspector's tests. You want to update the submodules for both compare-locales and locale-inspector in vendor-local
elmo, master-ball and slave-ball have more or less dependencies on mercurial and its internal python apis. locale-inspector only depends on the command-line interface of mercurial (at this time).
Notably, the diff view depends on mercurial. Those are in the pushes app, so you want to run the tests for that.
master-ball depends on the hg server's implementation of the json-pushes api. The use of internal mercurial apis is factored out into the elmo's pushes app.
test-master depends on mercurial through the hgcustom repos. If you update mercurial, you need to update the revisions in createEnvironment