This thread tracks the evolution of Slack's build system performance. Initial posts detailed the problem of slow builds (60 minutes) for Quip and Slack Canvas backends. This post details the foundational work to improve build performance by applying principles of caching and parallelization, similar to application code optimization. It introduces the use of Bazel and the necessary engineering work to ensure build units are idempotent, hermetic, and granular, leading to a significant reduction in build times. This post details the automation of a large-scale migration from Enzyme to React Testing Library (RTL) using a hybrid approach combining Abstract Syntax Tree (AST) transformations and Large Language Models (LLMs), achieving an 80% conversion success rate. It also covers the open-sourcing of the conversion tool.
All Slack trails