Home / Companies / Aspect Build / Blog / February 2023

February 2023 Summaries

2 posts from Aspect Build

Filter
Month: Year:
Post Summaries Back to Blog
Bazel, a complex build and test tool, offers an overwhelming number of options, exceeding 1500, which can lead to confusion, especially for new users who may encounter bugs due to default settings not being optimal for new repositories. To alleviate this, users can utilize presets, which are named .bazelrc files containing sets of flags accompanied by explanations and links to further documentation, designed to provide more sensible default values. These presets can be integrated into projects by adding a dependency on bazel-lib, copying the presets into the repository using a provided macro, and updating the .bazelrc file to import relevant presets. While the community is encouraged to suggest improvements to these presets via an open-source repository, efforts are also underway to address the underlying issue of suboptimal default settings through community-driven bug bounties, though participation has been limited.
Feb 27, 2023 709 words in the original blog post.
Aspect's analysis of integrating Bazel into CI/CD infrastructure reveals a complex and resource-intensive process, often requiring significant engineering effort and meticulous planning. They highlight typical challenges such as accidental discards of Bazel's analysis cache, managing the inefficiencies of ephemeral runners, and the intricacies of setting up persistent runners. The text outlines the necessity of a robust remote caching strategy to enhance build speed, the importance of runner health checks to prevent resource leaks, and the critical role of defining and monitoring Service Level Agreements (SLAs) to maintain CI performance. Moreover, maintaining "green" builds is crucial, involving quick identification and resolution of breakages to avoid disruptions in product delivery. Cost management is emphasized, with a focus on sustaining high cache hit rates and optimizing CI runner usage. The adoption of Remote Build Execution (RBE) is discussed as an option for larger organizations where parallel processing can offset cache invalidation challenges. To address these complexities, Aspect offers their product, Aspect Workflows, which encapsulates these solutions and provides a streamlined approach to managing Bazel in CI/CD environments. The overall conclusion is that while the process is challenging, with the right resources and strategies, it can significantly enhance CI/CD efficiency.
Feb 25, 2023 2,525 words in the original blog post.