allthethings

This module is to extract information from allthethings.json. More info on how this data source is generated can be found in this wiki page:

This module helps you extract data from allthethings.json The data in that file is a dump of buildbot data structures. It contains a dictionary with 4 keys:

  • builders:
    • a dictionary in which keys are buildernames and values are the associated properties, for example:
"Android 2.3 Armv6 Emulator mozilla-esr31 opt test crashtest-1": {
  "properties": {
    "branch": "mozilla-esr31",
    "platform": "android-armv6",
    "product": "mobile",
    "repo_path": "releases/mozilla-esr31",
    "script_repo_revision": "production",
    "slavebuilddir": "test",
    "stage_platform": "android-armv6"
  },
  "shortname": "mozilla-esr31_ubuntu64_vm_armv6_large_test-crashtest-1",
  "slavebuilddir": "test",
  "slavepool": "37085cdc35d8351f600c8c1cbd165c311880decb"
 },
  • schedulers:
    • a dictionary mapping scheduler names to their downstream builders, for example:
"Firefox mozilla-aurora linux l10n nightly": {
  "downstream": [
    "Firefox mozilla-aurora linux l10n nightly"
  ]
 },
  • master_builders
  • slavepools
mozci.sources.allthethings.fetch_allthethings_data(no_caching=False, verify=True)

It fetches the allthethings.json file.

If no_caching is True, we fetch it every time without creating a file. If verify is False, we load from disk without checking. This should only be used if allthethings.json exists and it’s trusted.

mozci.sources.allthethings.list_builders()

Return a list of all builders running in the buildbot CI.