normally we uploadsymbols depending on platform+variant. Try is special and disables uploads platform wide. Mach doesn't know about this branch specific logic.
I think branch info is tricky to get from make. One possibility is to use buildprops.json, which is how sccache determines which bucket to use (eg: try vs inbound), but reading that file would probably involve an ugly $(shell). We chatted a bit about keeping the logic in mozharness, and just removing (or not setting) SYMBOL_SERVER_* for try. jlund, any idea how hard that is on the mh side? Right now that will just cause uploadsymbols to fail, but I'm investigating turning off MOZ_AUTOMATION_UPLOAD_SYMBOLS if any of those environment variables aren't set. Assuming that works, it should just be a small change in moz-automation.mk in m-c.
So, it turns out that uploadsymbols is only done for nightly builds anyway (MOZ_AUTOMATION_UPLOAD_SYMBOLS is only set if IS_NIGHTLY==yes in the mozconfigs). This means that all try builds won't do uploadsymbols by default, which is what we want. I don't think we want to further limit this, since if a user pushes to try with IS_NIGHTLY explicitly set to "yes" in the environment, presumably they want to mimic a nightly build as close as possible.