Making GitHub CI workflow 3x faster
Blog post from GitHub
GitHub's engineering team, in their effort to improve internal development tooling and infrastructure, managed to significantly reduce the lead time for changes by making their continuous integration (CI) workflow three times faster. Initially, developers faced almost two hours of waiting after checking in code due to a 45-minute CI run, repeated before deploying a merge branch. The team identified that two long-running integration testing jobs, although crucial for ensuring GitHub Enterprise Server's quality, were bottlenecks in the process. To address this, they developed a deferred compliance tool, which allowed these long-running tests to proceed without blocking pull requests. This tool monitors for failures post-merge, initiating a 72-hour window for developers to address any issues, thus balancing deployment speed and product quality. This innovation not only improved developer productivity but also maintained accountability and ensured GitHub's reliability across its platforms, demonstrating the impact of strategic engineering improvements.