ReleaseEngineering/Applications/Bumper
Bumper
B2g Manifests
B2G manifests define all the git projects required to build B2G for a given device. An example manifest is https://github.com/mozilla-b2g/b2g-manifest/blob/master/dolphin.xml.
B2g Bumper
B2G bumper is responsible for taking the original manifests from https://github.com/mozilla-b2g/b2g-manifest/ and processing them for our build system. What this generally means is to change references to remote git repositories (like on github) to references to our mirrors on git.m.o. We also inline include files, and get specific commit ids for all the projects.
The bumper runs periodically and keeps all the in-tree manifests up to date. If one of the upstream repositories changes, then this is reflected in a commit to gecko, e.g. https://hg.mozilla.org/integration/b2g-inbound/rev/76635be3bc3f ( here the 3rd party repository 'apitrace' was changed. b2g_bumper detected this change, and updated all the commit ids in the in-tree manifests)
Where is bumper's code
./mozharness/scripts/b2g_bumper.py
Where and when does bumper run?
b2g_bumper runs on buildbot-master66.srv.releng.usw2.mozilla.com (see /etc/cron.d/run_b2g_bumper)
Troubleshooting
Logs for bumper runs are located in /builds/b2g_bumper/${version}/logs, and should be the first resource to check for troubleshooting.
A (relatively) common issue in the past was the presence of hung processes running git commands; in this case killing the hanging processes and the python commands calling them was enough to solve the issues and next scheduled bumper executions run successfully (e.g.: https://bugzilla.mozilla.org/show_bug.cgi?id=1040062).