Mobile/Fennec/Testing/Understanding treeherder
Treeherder is where Mozilla CI things run. After doing some patching, you can use something like `./mach try -b do -p android-api-15,android-x86 -u robocop -t none` to send all your commits up to our try server. For more about TryServer and syntax, see ReleaseEngineering/TryServer#How_to_push_to_try
Automatic tasks
There are a few tasks on treeherder that run automatically when files change that can affect the task results. One side effect of allowing tasks to run automatically is that you can't get them to run without changing the files, even if you explicitly include the task. This is unexpected behavior to me (mcomella) and I don't know if it will ever change. This has not changed as of June 2017. This process is called optimization and is there to save our CI resources. The optimization can be observed in the log of Gecko Decision Task opt Job log.
If you need to force one of these tasks to run on try, you can change a file you'd expect to have to change in order to run the task and delete the commit after you push (e.g. to get checkstyle to run, you can change a Java by adding valid code, e.g. `int i = 4`; to any method).
Specifying the files that cause tasks to run is a manual process and can go wrong, so please file a bug with a NI for :mcomella and :tyu if one of these tasks does not run when you'd expect it to and we can update the script.
List of tasks that run automatically
A potentially out of date list of tasks that run automatically:
- android-api-15-gradle-dependencies
- android-checkstyle
- android-lint
- android-test
- android-find-bugs
- l10n-android-api-15-l10n
- mozlint-eslint
For an up-to-date list, see the tasks section of base_jobs.yml.