4 ms·
can't say too much about it because it mostly used a lot of internal tools, but it was a combination of writing per-file utilities to do specific code transform
by zem 3y ago
can't say too much about it because it mostly used a lot of internal tools, but it was a combination of writing per-file utilities to do specific code transforms (think something like libcst), and then a framework to scan the google codebase, find affected files, and apply the transforms to them.
- banish-m4 3y agoCode mods are fun. Were they gated by human PR reviews, perhaps in batches, or applied without review?
- zem 3y agoyes, gated by human reviews based on who owned the code, unless they were completely trivial and then were gated by a single global approver. there were always humans in the loop though.
- banish-m4 3y agoAh makes sense. At another MAANG, there was a code mod template job with a half dozen subvariants. I recall using a variant that supported ripgrep piping to sed -i for a simple replacement mod. There were jobs properties controlling how many mods per diff and whether it needed human approval or not. I think I did one batched by 1000 running once every 2 weeks to keep noise down.