Traditionally this is stuff that has been handled by mozharness. I'd love if we could factor that logic out of mozharness and into mozbase somewhere (with mozharness consuming the new mozbase features). This would ease the path towards jobs that live and run from a source checkout and that use mach (instead of mozharness). The mochitest-harness task already does this, but the download/install code isn't in a re-useable place: https://dxr.mozilla.org/mozilla-central/source/testing/mochitest/tests/python/conftest.py#47 Getting mozharness to consume this new mozbase module would likely be blocked on getting off buildbot.
So we have mozdownload which is in use in various automation projects. Should we consider using that? It has far more capabilities then only getting the files from a buildurl input.
Yeah, for sure! Would you object to moving that in-tree? I guess we could also add it to third_party/python if necessary. Btw, this isn't something I'm actively working on. I just wanted to get it on file before I forgot :).
Maybe something similar to what we do with mozregression migth be an idea. Also one thing to note is that we do not have Taskcluster support yet. I think that most likely has to be added, especially when it should be used with CI builds.