Javascript:Automation Builds
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(e) - warnaserr or warnaserrdebug
- SM(cgc) - compacting
- SM(p) - plain or plaindebug
- SM(arm) - arm-sim or arm-sim-osx
- SM(exr) - exactrooting
- SM(r) - rootanalysis