~/conference

BazelCon 2024

date:2024-10-14..2024-10-15
location:Mountain View, United States
series:BazelCon · 6 editions

build engineers, platform engineers, monorepo maintainers, devops engineers, toolchain maintainers, developer productivity engineers

remote execution reliability; action deduplication for builds; remote caching and outputs; building container images in-memory; hermetic sandboxing techniques; hermetic Python with Conda; Gazelle performance at scale; Bazel query advanced usage; cross-platform cross-architecture compilation; Nix and Bazel interoperability; creating portable toolchains; test filtering by build-graph distance

titleauthorlength
BazelCon KeynoteMicheal O'Foghlu, Tobias Werth, Alex Eagle, Helen Altshuler, Chuck Grindel23m
Bazel traces to about 2014, hits open-source 1.0 with semantic versioning and long‑term support, and prepares Bazel 8 while governance shifts: BazelCon…
Talk on
State of the UnionTobias Werth, John Field31m
Bazel ships a usable vendor mode for offline dependency downloads, a new lockfile format plus a gmerge driver to reduce merge conflicts, and a plan to disable…
Talk on
The Classics Never Go Out of Style: An Empirical Study of Downgrades from BazelShane McIntosh32m
Analysis of 542 open-source Bazel adopters finds 61 projects (11.2%) abandon Bazel after sustained use, with a median 638 days of adoption. Thematic coding of…
Talk on
Post Mortems for 4 Years of Remote ExecutionUlf Adams29m
Four concrete incidents from four years of running remote execution: a deadlock caused by single outgoing HTTP/2 connection per worker and cyclic RPCs that…
Talk on
Lessons from a Large JVM MonorepoJanusz Kudelka27m
Airbnb runs a 30M+ LOC JVM monorepo with Java, Kotlin and Scala, thousands of contributors and ~8,000 third‑party versions; solutions include packaging JDKs as…
Talk on
Action Deduplication: Faster and Cheaper Remote Builds Without Lifting a FingerChristian Scott11m
Remote Bazel RBE backends implement action deduplication (aka merging/coalescing) so identical actions already executing are not re-run; BuildBuddy, Buildbarn…
Talk on
Building 1300 Container Images in 4 MinutesSushain Cherivirala10m
Claim: Bazel pipelines build 1300+ images in about four minutes by never materializing layers to disk. Implementation uses Bazel with remote_download_minimal…
Talk on
Performant Bazel Builds for Web Monorepos at ScaleSharmila Jesupaul11m
Airbnb migrates a 10 million+ line web monorepo (150k files, 10k BUILD files) to Bazel and focuses on measurable wins: 42% faster incremental unit tests by…
Talk on
Perfect Sandboxing in BazelRahul Butani29m
Migrating a 20‑year codebase to Bazel exposes tools that use absolute host paths, so the Bazel sandbox is extended to detect external symlinked inputs (via…
Talk on
Running a Start-up on BazelPrasanna Swaminathan27m
A 10‑engineer company runs Bazel on roughly 1 MM LOC across about 850 build files and ~3600 targets, migrating Go first (live May 2022) and using Gazelle for…
Talk
Pigweed and Bazel for Embedded DevelopmentTed Pudlik29m
Pigweed makes Bazel handle real embedded firmware workflows: it builds binaries for multiple cores in one Bazel invocation, uses transitions (and in Bazel 8…
Talk on
Spotify's Journey to Releasing One of the World's Largest Apps wit...Luka Cindro, Gabriel Borglund26m
Spotify migrates a 5M‑line Android app and related 1M C++ core from Gradle to Bazel using a hybrid Gradle+Bazel bridge that runs Bazel during Gradle…
Talk on
Introducing Remote BazelMaggie Lou11m
Remote Bazel runs the Bazel client server and commands remotely so CI and dev machines reuse a warm analysis workspace stored in a remote cache, using…
Talk on
{ Fast, Cost-effective } – Choose TwoHelen Altshuler10m
Shows a concrete platform that combines Bazel invocation analyzer recommendations (claims up to 84% faster on specific builds) with cache replication and…
Talk on
Aspect BuildAlex Eagle10m
Aspect Build describes a developer platform that supplies Bazel rule sets and CI/CD integration, claiming 23% of Bazel registry releases come from its team…
Talk on
Bazel’s Take on (Cc) Shared LibrariesClaudio Bley11m
cc_shared_library in Bazel uses aspects to walk dependency edges, emit graph_node_info and combine that with cc_shared_library_info to decide which object…
Talk on
Consistent Hermetic Tooling with Actually Portable ExecutablesMatt Clarkson07m
Explains that Actually Portable Executables (APE) are single “fat” binaries containing x86_64 and aarch64 code that run on Windows, Linux, macOS and BSDs, and…
Talk on
Building a Hermetic Python Environment with Conda in BazelAdam Azarchs09m
Bazel rules fetch Conda packages as parallel per-package remote repos and then copy them into a central repository rule so Python extension modules and shared…
Talk on
Bazel: {Fast, Correct, Seamless}: Choose 3Srini Muthu09m
LinkedIn moves Go from mixed Makefile/Gradle chaos (roughly 50% legacy, 50% native go) to Bazel by using Bzlmod and go_deps so go.mod becomes the source of…
Talk on
Optimizing Gazelle for Scale and Performance in Uber's MonorepoTyler French07m
Monorepo with ~1,000,000 files and ~10,000 commits/week forces Gazelle to stop scaling so the team converts global indexing to conventions to avoid index…
Talk on
Bazel Query Deep Dive: From Basics to Advanced Use CasesŁukasz Wawrzyk26m
Shows concrete commands and gotchas: uses Envoy and a tiny Scala repo to demo --noimplicit_deps to shrink a deps result from ~900 labels, extracts transitive…
Talk on
Creating C++ Toolchains EasilyMatt Stark, Armando Montanez32m
New rules_cc toolchain mechanism defines C++ toolchains as rule-based use labels not strings mappings: a cc_toolchain points to a cc_tool_map that maps action…
Talk on
{Fast, Correct, Secure} - Choose ThreeYannic Bonenberger, Antonio Di Stefano29m
Bazel users get a concrete report: EngFlow moves from ad hoc checked‑in license targets and a brittle manual collection to an aspect‑based approach and the new…
Talk on
Symbolic Macros and Rule FinalizersSusan Steinman, Alexandre Rostovtsev26m
Structured symbolic macros land in Bazel 8.0 and require typed attributes, automatic name and visibility handling, and configurable support for selects so…
Talk on
Reducing Bazel's Memory ConsumptionIvo Ristovski List, Jingwen Chen33m
Three production ideas target different use cases and tradeoffs: Skyfocus runs today (Bazel 8 flags) and discards state outside a developer-specified working…
Talk on
How Bazel Handles GlobsNathan Harmata10m
Bazel exposes file existence to build code via glob patterns but historically evaluates globs twice, causing long stalls and high memory from per-directory…
Talk on
Not Going the Distance: Filtering Tests by Build Graph DistanceAlex Torok09m
Aurora adds a direct hash to each Bazel target and computes two distances: a graph target distance (number of dependency hops to a directly changed target) and…
Talk on
Nix and Bazel: The Odd Couple of Build ToolsJesse Schalken11m
Argument: Nix artifacts are not relocatable so binaries live in Nix store with embedded interpreter and DT_RPATHs, which breaks Bazel remote execution…
Talk on
Remote Execution with Rules_nixpkgs: Design and DeploymentGuillaume Maudoux33m
rules_nixpkgs integrates Nix into Bazel but breaks remote execution; this work implements a solution combining remote Nix execution with Bazel remote workers…
Talk on
Rules_lint: Formatting and Linting All LanguagesAlex Eagle27m
rules_lint v1.0 provides a single, repo-level formatting workflow (per-file, editor-consistent, run via pre-commit) and a separate linting workflow that runs…
Talk on
Utilizing Bazel for Cross-Platform and Cross-Architecture Compilation an...Axel Uhlig, Marcel Kost28m
A Bazel-based, hermetic C++ toolchain builds static Clang compiler packages and SDK sysroots for Linux, Windows, and macOS and targets Intel and ARM, using…
Talk on
Interoperating Bazel and Other Build SystemsAlexander Neben, Zack Winter25m
MongoDB migrates a massive C++ codebase to Bazel while keeping SCons as the developer interface, supporting Windows/Mac/Linux, x86/arm/ppc/s390x and…
Talk on
Are You Ignoring Your Most Expensive Bazel Build Problems? (Develocity Can Help)Brian Saghy11m
Develocity, Gradle’s cross-build observability platform, analyzes Bazel build and test metadata across CI and local machines to surface where dollars and…
Talk on
Fetching private data with Repo Rules and MODULE ExtensionsMalte Poll10m
Manages authenticated HTTP fetches via Bazel repository rules and MODULE extensions, implementing downloads through the Bazel downloader, reusing a repository…
Talk on
Hermetic Toolchain Creation with Local Remote Execution (LRE) & NixAaron Mondal06m
Describes an implemented LRE workflow that uses Nix flakes to gather packages, materialize materialized Nix store paths, and feed identical strings into both a…
Talk on
Scala, Bazel and VirtusLabKrzysztof Romanowski08m
Scala 3 is now presented as fully binary and source compatible with LTS overlap for smoother migrations, compilation is faster and pipelined, and rules_scala…
Talk on
Swiping Left on Monolithic TargetsMaxwell Elliott07m
Describes a repeatable decomposition workflow that uses Bazel Aspects and Swift IndexStore to collect an index, a custom rule plus a Transformer to convert it…
Talk on
Improved --Toolchain_resolution_debug’ingMalte Poll10m
Refactors Bazel’s `--toolchain_resolution_debug` output into a single-message-per-invocation, indented format that removes duplicate lines and makes the…
Talk on
Why We Should Care About Test Execution Output in Safety-Critical IndustriesMarkus Hofbauer08m
Bazel does not cache test output, which breaks ASPICE-style deliverables used by BMW and NVIDIA; forking Bazel is costly. The claim is to run test as part of…
Talk on
The State of Compilation Database in BazelThi Thu Ha Doan10m
Compares four concrete ways to produce compile_commands.json for Bazel: running a capture tool like Bear (requires client mode or disabling sandbox and a real…
Talk on
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.