LKGR is by definition behind ToT because it needs to be built and tested, and most likely another commit occured before a revision was vetted for LKGR.
- Did it fail at the Update step?
- Did your patch contain CRLF files? You can look at the 'patch' link in the 'update' step.
- Too bad for you. Create a separate commit to fix the file in the tree and try again with --revision 123
- Did you get GYP failures in the update 'stdio'?
- Maybe you screwed the GYP file.
- Did you get "HUNK", "fuzzing" or "offset" messages in the update 'stdio'?
- The files you are modifying have been modified on the tree. Maybe LKGR is more recent or older than your checkout. You can look at the build link in the email in the Build Properties section, search for the number beside revision. Maybe try specifying --revision on your try.
- Did it fail at the Compile step?
- Maybe your code is broken?
- Yes, that is a possibility. Sorry 'bout that.
- Maybe someone else broke the slave?
- That happens. Especially on Windows. Please try again and alert me with the build status url. You can use the --bot win flag to not try needlessly on other platforms.
- Maybe a clobber is required. There are command-line options to request clobber (most likely just -c).
- Did it fail an unrelated test?
- Maybe it was broken at that revision on the main waterfall. Please look up the revision and take a look on the main waterfall.
- Maybe the tree slave is broken?
- That happens. Please try again and alert me with the build status url.
- I get no email!
- Did you get a warning message when sending your job? By default, it sends it to your checkout credential.
- 'gcl try' fails
- Send an email to <tryserver at chromium dot 0rg>.
- The try server is soo slow
- When a clobber is needed, a full rebuild takes time.
- Maybe someone changed a GYP and forgot to update the svn:ignore?
- If you feel like getting a peer bonus, please fix the property accordingly, otherwise ping <tryserver at chromium dot 0rg>.
- The try server needs a clobber
- That happens, usually ask to someone knowledgeable on irc to fix it for you or ping maruel if no answer.
- You can also request a clobber using command-line flags (usually -c).
- error message: 'hostname nor servname provided, or not known'
- If you're using the try server from outside of Google, it will fail to look up the hostname and should then fall back to using svn to enqueue the try job. If svn fails, unfortunately, you'll only see the error message about the hostname, so you won't realize that svn is the problem.
- To fix, try this first: svn ls svn://svn.chromium.org/chrome-try
- If that last step didn't work, maybe you're using git try on Windows? In that case, you may have a mismatch where the tools are using a mix of depot_tools svn and cygwin svn. In that case, also type /usr/bin/svn ls svn://svn.chromium.org/chrome-try
- Anything else?
- Please update this guide.
I'm modifying a DEPS, will it work?
I'm modifying a GYP file, will it work?
I'm modifying gyp scripts under src/tools/gyp, will it work?
Yes, but you have to use
--no_search, otherwise patch will fail saying it cannot find files to patch.
Get detailed command-line help
Use: git try -h (git will redirect --help to man which fails for git-try)
Or: trychange.py --help
Disable automatic try on gcl upload
To do this for 'gcl try': create a file at '~/.gcl_upload_no_try'
For 'git try' : Edit src/codereview.settings thusly: "TRY_ON_UPLOAD: False"
I have an awesome patch for depot_tools!
Use the same way to contribute code that for chromium in general, e.g.
Skip running some/all of the unit tests?
gcl try &
git try accept
estname:filter-string [-t for short] parameter, this option can be repeated to specify additional tests. For instance:
git try -t unit_tests:SafeBrowsingDatabaseTest.*
If you specify a test filter then only the tests binaries you filter on will run (the rest will be skipped). This means you could send a compile only, no test, try job by passing
t none. You can also use:
git cl try --bot win_rel:unit_tests
Want to compile something not compiled by default
Add the pseudo test 'compile' as a test filer, e.g.
git cl try -b win_rel:compile
How can I see what will happen before I submit the job?
--dry_run flag (which implies
--verbose) to (a) see what your patch is and (b) not actually submit the job when using git try or gcl try.
By default the trybot will patch your change against the LKGR, so there might be differences in the files you are modifying between the revision you've been working on and the LKGR. The easiest way to fix this is check which revision you were using, and then pass it to the try job with --revision.
For example, if your change depends on some other changes newer than LKGR, you may want to try the patch against HEAD, i.e., git cl try -rHEAD.
If this still doesn't work and:
- you are using git
- master is not upstream of the branch you are trying
then its possible there are uncommitted changes between your branch and master, causing the apply_issue to fail. In this case, use
git cl try
git try --upstream_branch=origin/master
Keep in mind that this means your branch cannot be committed until all upstream branches are committed first, even if the trybots succeed.
- LKGR was broken for a specific build configuration that is not taken in account on LKGR, often the case. Try with
-r, --revision with one that is working on the main waterfall.
- Incremental build failure, slightly less probable but still happens occasionally. Try with
- The slave has a broken checkout and needs a complete checkout removal, rarely happens but still does. Reply to the try job email.
- You patch is broken. Please don't completely rule this possibility out yet. :)
My patch includes updated webkit baselines (binary files) and it's not working
Correct! The try servers do not currently support binary patches, but this is being worked on. Star https://crbug.com/23608
I want to cancel my job, should I press the 'Stop' button?
No! DON'T EVER DO THAT. This button is for maintainers and is quite tricky to use correctly. Just let it go.
Why! you ask. You may stop it during the update step and leave the svn checkout locked, breaking the following tries. You may stop it during compilation, corrupting the PDB database, breaking the following jobs. You may stop it during ui_tests, leaving zombies around. You may stop it during unit_tests, leaving temp files around.
Run the try job only on one platform
or whatever 'builder' name you want to use from the waterfall
My patch is in Blink only
Go in src/third_party/WebKit and use
git-try. If you want to diff against a specific branch, use
cd src/third_party/WebKit ; git-try --bot mac_layout,win_layout,linux_layout
gcl try will fail if you don't specify a chromium change, you can use
trychange.py directly. Use it from the src directory of your Chromium checkout:
trychange.py --sub_rep=third_party/WebKit --bot mac_layout,win_layout,linux_layout
trychange.py --help for more details.