Javascript:Automation Builds

From MozillaWiki
Revision as of 22:52, 13 May 2016 by Sfink (talk | contribs) (→‎Mapping variants to SM(...) names: removed obsolete, added arm64)
Jump to navigation Jump to search

The Builds

All of the SM(...) builds appearing on Treeherder are JS shell-only builds. Currently, they all

  • Checkout the source
  • Configure using a set of options appropriate to the specific build
  • Build (by simply invoking make)
  • Run tests, possibly differently depending on the specific build

All of this is done by running the shell script js/src/devtools/automation/autospider.sh <variant>, where <variant> is one of the filenames in js/src/devtools/automation/variants/.

Reproducing a build

You should be able to closely replicate a TH build by running autospider.sh yourself. For example, to replicate SM(e), you could be anywhere within your checkout, and run

 <gecko-root>/js/src/devtools/automation/autospider.sh --clobber warnaserr

The default objdir is <gecko-root>/obj-spider. You can change it by setting the $OBJDIR environment variable.

To narrow the test down, delete some of the lines at the end of autospider.sh that run the various tests.

Mapping variants to SM(...) names

There is no good way. They're hardcoded in the Treeherder code. Many of them even show up in multiple repos. Here's a snapshot:

  • SM(cgc) - compacting
  • SM(p) - plain or plaindebug
  • SM(arm) - arm-sim or arm-sim-osx
  • SM(arm64) - arm64-sim
  • SM(exr) - exactrooting
  • SM(r) - rootanalysis