Starting with an configured checkout, here's the standard workflow to make a modification to the source code:
gclient syncanywhere in infra.git.
luci-pyit might be
git new-branch <branch-name>.
git cl upload. This step runs the tests, which must pass. If they don‘t, go back to the previous step to fix any issue. You can use test.py to run tests anytime. Make sure you’ve added reviewers for your modifications and sent an email.
git cl landif you're a Chromium committer.
Use Textproto for anything that's checked-in/human-editable (i.e. configuration) because it is more readable and easier to edit. More specifically, it allows the addition of comments, JSON does not.