GitHub

How GitHub Actions renders large-scale logs

Mar 25, 2021Alberto Gimeno
How GitHub Actions renders large-scale logs
SummaryAI, from the source post

This post details the implementation of UI virtualization for rendering large-scale logs in GitHub Actions. It addresses limitations of previous libraries, such as fixed height requirements and issues with dynamic visibility changes. The team developed a custom virtualization library from scratch to render up to 50k log lines, support variable log line heights, implement sticky headers for steps, and ensure smooth scrolling and text selection. The approach involves estimating heights before rendering, optimizing DOM structure, and grouping log lines into clusters to reduce DOM mutations during scrolling.

More from the GitHub.com Deployment System trail