Loading…
BazelCon 2024
Attending this event?
October 14-15, 2024
Mountain View, CA
View More Details & Registration

The Sched app allows you to build your schedule but is separate from your event registration. You must be registered for BazelCon 2024 to participate in the sessions. If you have not registered but would like to join us, please go to the event registration page to registration.

This schedule is automatically displayed in Pacific Daylight Time (PDT) | UTC -7. To see the schedule in your preferred timezone, please select from the drop-down located at the bottom of the menu to the right.

IMPORTANT NOTE: Timing of sessions and room locations are subject to change.
arrow_back View All Dates
Monday, October 14
 

8:00am PDT

Registration + Badge Pick-up
Monday October 14, 2024 8:00am - 5:00pm PDT
Monday October 14, 2024 8:00am - 5:00pm PDT
Grand Lobby

9:00am PDT

Keynote Session To Be Announced
Monday October 14, 2024 9:00am - 9:30am PDT
Monday October 14, 2024 9:00am - 9:30am PDT
Hahn Auditorium

9:30am PDT

State of the Union
Monday October 14, 2024 9:30am - 10:00am PDT
Monday October 14, 2024 9:30am - 10:00am PDT
Hahn Auditorium

10:00am PDT

The Classics Never Go Out of Style: An Empirical Study of Downgrades from Bazel - Mahmoud Alfadel & Shane McIntosh, University of Waterloo
Monday October 14, 2024 10:00am - 10:30am PDT
Enticed by advanced features, several software teams have migrated their build systems to a modern generation of build technologies, such as Bazel. However, not all migrations lead to perceived improvements, ultimately culminating in abandonment of the build technology. In this talk, we will present the results of our recent empirical study of 542 open-source projects that adopt Bazel. We observed that (1) 61 projects (11.2%) have abandoned Bazel; and (2) abandonment tends to occur after investing in Bazel for a substantial amount of time (a median of 638 days). Thematic analysis reveals seven recurring reasons for abandonment, such as technical challenges, lack of platform integration, team coordination issues, and upstream trends. After abandoning Bazel, the studied projects have adopted a broad set of alternatives, spanning from language-specific tools like Go Build, to more traditional build technologies like CMake and even pure Make.
Speakers
avatar for Mahmoud Alfadel

Mahmoud Alfadel

Postdoctoral Researcher, University of Waterloo
I am a postdoctoral researcher at the REBELs Lab in the Cheriton School of Computer Science at the University of Waterloo. I earned my PhD in Software Engineering from Concordia University (Montreal). My research uses empirical software engineering techniques to enhance security and... Read More →
avatar for Shane McIntosh

Shane McIntosh

Associate Professor, University of Waterloo
At the University of Waterloo, I lead the Software Repository Excavation and Build Engineering Labs (the Software REBELs). My trainees and I perform empirical studies that mine historical data generated during the development of software systems to study devops and software quali... Read More →
Monday October 14, 2024 10:00am - 10:30am PDT
Hahn Auditorium

10:30am PDT

Break
Monday October 14, 2024 10:30am - 10:45am PDT
Monday October 14, 2024 10:30am - 10:45am PDT
Grand Hall

10:30am PDT

Solutions Showcase
Monday October 14, 2024 10:30am - 7:30pm PDT
Visit the sponsor tables in the Grand hall!
Monday October 14, 2024 10:30am - 7:30pm PDT
Grand Hall

10:45am PDT

Post Mortems for 4 Years of Remote Execution - Ulf Adams, EngFlow Inc.
Monday October 14, 2024 10:45am - 11:15am PDT
We have been running RE for several years. In this talk, we present what we have learned - the hard way - during this time, with the hope that this will help others who are building or operating a remote execution service prevent similar issues. We will cover these themes: cloud infrastructure limits, memory management pitfalls, software architecture oh-nos, and monitoring mistakes.
Speakers
avatar for Ulf Adams

Ulf Adams

CTO & Co-Founder, EngFlow Inc., EngFlow Inc.
MS in Computer Science from Stanford University, 11 years at Google as TLM for Blaze & Bazel. Now CTO & Co-Founder of EngFlow.
Monday October 14, 2024 10:45am - 11:15am PDT
Hahn Auditorium

10:45am PDT

Simplicity Steering Group - Farid Zakaria, Confluent
Monday October 14, 2024 10:45am - 11:45am PDT
Bazel is a great tool and has inspired dozens of imitators. It's success and desire to fulfill the need of many requirements (arch, platform, OS etc..) has resulted in a Bazel much more complicated than the original incarnation when the principles were simpler and needed everything to be vendored. Proper use of Bazel now almost always requires a hand-tuned .bazelrc file and a dizzying array of external rules. While bzlmod has made figuring out the dependency version management it's continued to feed the growth of complexity. What can we do to make Bazel usable and simple on it's own.
Speakers
avatar for Farid Zakaria

Farid Zakaria

Principal Engineer, Confluent
I am a software engineer, father, and wishful surfer. I currently work at Google and am also pursuing a Ph.D. in computer science at the University of California Santa Cruz. More relevant to Nix, I am a NixOS enthusiast, which has led me to rethink basic Linux primitives.
Monday October 14, 2024 10:45am - 11:45am PDT
Lovelace

11:15am PDT

Lessons from a Large JVM Monorepo - Janusz Kudelka, Airbnb
Monday October 14, 2024 11:15am - 11:45am PDT
Airbnb's JVM monorepo hosts 10s of millions of lines of Java, Kotlin and Scala. Each language posing unique challenges. This talk will show how we solved many of them, examples include: * importance of Remote Persistent Workers for RBE and how to maintain them * supporting cross-platform builds (mac and linux, x86 and arm) with universal binaries allowing cache sharing and dynamic execution across * safe and efficient usage of multiple source and runtime versions: mixed java 8 and 17, gradual runtime migrations, supporting multiple scala versions * our approach to compilation avoidance * straight to bytecode codegen when all other optimizations are not enough * what we tried that didn't work * ... and more
Speakers
avatar for Janusz Kudelka

Janusz Kudelka

Software Engineer, Airbnb
Janusz Kudelka is a Software Engineer with 10+ years of infrastructure experience with the last 5 years on Developer Infrastructure at Airbnb where he tries to make sure the developers are equipped to engineer the best software of their careers.
Monday October 14, 2024 11:15am - 11:45am PDT
Hahn Auditorium

11:50am PDT

Making Builds Cheaper by Deduplicating Actions with RBE - Christian Scott, Canva
Monday October 14, 2024 11:50am - 12:00pm PDT
In this session I will discuss remote action deduplication, a feature of some Bazel RBE backends. I will explain the problem it solves, how it works, and some details about how well it has worked for us. I'll also quickly touch on merge queues, and mention some RBE backends that support the feature. --- If you run builds on every master commit, and you have commits landing more quickly than your slowest action can finish, you'll end up rebuilding unnecessarily. We estimated that our slowest webpack action was being re-run unnecessarily 66% of the time! This action is an input to a large number of expensive integration tests so it's very likely that we're also wasting a lot of compute on those tests as well. The web page builds and tests account for the vast majority of the compute we use in CI. The number of wasted builds would be even higher if we were using a merge queue, so we have been forced to stick to a conventional merge strategy. By running these builds remotely and using an RBE backend that supports action deduplication, we've massively (25%, more expected by BazelCon) reduced the amount of compute needed to build and test web pages.
Speakers
avatar for Christian Scott

Christian Scott

Software Engineer, Canva
Working on making the build and test experience faster and more reliable for frontend engineers at Canva.
Monday October 14, 2024 11:50am - 12:00pm PDT
Hahn Auditorium
  Lightning Talks

12:00pm PDT

Building 1300 Container Images in 4 Minutes - Sushain Cherivirala, Stripe
Monday October 14, 2024 12:00pm - 12:10pm PDT
Container images are a ubiquitous mechanism for deploying applications in the modern computing landscape. Everything from services deployed on bare-metal Kubernetes to AWS Lambda functions depend on container images. Building these images quickly and efficiently is critical to keeping CI/CD responsive. In recent years, Stripe has undergone dual migrations. One, to a service oriented architecture. Two, to running services inside Kubernetes. Together, these migrations meant our CI pipelines to build containers became slower and more expensive with each passing month. With a build producing over a terabyte of images, Bazel just couldn't build them fast enough! Even disk space was in short supply. Learn how we flipped the script on our container builds by leveraging BwoB (Build without the Bytes). Now, we can build 1300+ container images in just a couple minutes with plenty of headroom for more. Bazel's entire output space fits in RAM and there's never a single byte of container images on disk!
Speakers
avatar for Sushain Cherivirala

Sushain Cherivirala

Staff Software Engineer, Stripe
Sushain is the tech lead for Stripe's Build Infra team. He joined Stripe from Stanford and Carnegie Mellon in 2019 and has been evangelizing Bazel ever since. In addition to writing Stripe's Ruby and JavaScript rulesets, Sushain has migrated millions of lines of Stripe code and hundreds... Read More →
Monday October 14, 2024 12:00pm - 12:10pm PDT
Hahn Auditorium

12:10pm PDT

Achieving Performant Remote Bazel Builds for Web Monorepos at Scale - Sharmila Jesupaul, Airbnb
Monday October 14, 2024 12:10pm - 12:20pm PDT
In this talk, you'll gain practical insights from our experience migrating Airbnb's web monorepo (which houses millions of lines of TS/JS code) to Bazel, with a focus on preparing NodeJS tooling for remote builds. We developed methods and tooling to trim down input sizes, share the cache between MacOS and Linux, persist caches through remote builds, catch and fix non-deterministic builds, and automatically generate BUILD files from JS/TS code. This helped us create a robust system for adopting Bazel without compromising on developer experience. These insights are designed to help you navigate similar migrations, improve build performance, and reuse builds across platforms.
Speakers
avatar for Sharmila Jesupaul

Sharmila Jesupaul

Staff Software Engineer @ Airbnb, Airbnb
Sharmila Jesupaul is a Staff Software Engineer with a passion for Bazel, TypeScript & JavaScript tools, and developer process & productivity. A former web developer turned infrastructure engineer, she has spent the last five years at Airbnb working on web build-tools, testing tools... Read More →
Monday October 14, 2024 12:10pm - 12:20pm PDT
Hahn Auditorium
  Lightning Talks

12:20pm PDT

Lunch
Monday October 14, 2024 12:20pm - 1:30pm PDT
Monday October 14, 2024 12:20pm - 1:30pm PDT
Grand Hall

1:30pm PDT

Perfect Sandboxing in Bazel - Rahul Butani, Intel
Monday October 14, 2024 1:30pm - 2:00pm PDT
Complete dependency graphs are at the heart of what gives Bazel its power and sandboxing plays a key role in keeping these graphs correct. However: Bazel's approach to sandboxing makes some concessions. With cooperation from tools this works well, but — what happens when your tools aren't well-behaved? In this talk, we detail how we — in service of migrating a 20 year old codebase to Bazel — extended Bazel and its sandbox to encode and enforce all host filesystem dependencies in Bazel's dependency graph. We'll cover the changes we had to make to use existing rulesets, how this compares with alternative solutions to this problem, lessons we learned along the way, and some takeaways for the broader ecosystem.
Monday October 14, 2024 1:30pm - 2:00pm PDT
Hahn Auditorium

1:30pm PDT

Swift and Apple BoF - Brentley Jones, Reddit & Keith Smiley, Modular
Monday October 14, 2024 1:30pm - 2:30pm PDT
Discussing the last year of rules_swift, rules_apple, rules_xcodeproj, and rules_swift_package_manager updates, where we are going with the rulesets. Lots of time at the end will be open Q&A.
Speakers
avatar for Brentley Jones

Brentley Jones

Staff Engineer, Reddit
Brentley is a Staff Engineer on the iOS Platform Build team at Reddit. He was previously a Developer Evangelist at BuildBuddy, and before that lead Bazel usage on the Client Tooling teams at Target and Lyft. Brentley is the creator of rules_xcodeproj; a maintainer of rules_apple... Read More →
avatar for Keith Smiley

Keith Smiley

Platform Engineer, Modular
Keith works on developer experience at Modular. He is a maintainer of bazel's iOS support, a LLVM & Swift contributor, and previously worked on developer experience at Lyft.
Monday October 14, 2024 1:30pm - 2:30pm PDT
Lovelace
  Birds of a Feather
  • Audience Level Any

2:00pm PDT

Running a Start-up on Bazel - Prasanna Swaminathan, Ergatta
Monday October 14, 2024 2:00pm - 2:30pm PDT
Bazel is typically described as a build system meant for large-scale systems. It's also described as a build system meant for teams with dedicated help to Bazel. But...what if you have neither? What if you are a small-scale start-up? Start-ups, by their nature, rarely have a spare headcount to devote to a build systems engineer. Their codebases are also usually pretty small. Why on Earth would you use Bazel in that context? Ergatta *is* using Bazel in that context. Ergatta has [note: I can put the real amount in here if this is accepted] LOC. Ergatta does not have the headcount to devote an engineer to Bazel. How does it work? How does a start-up with a 10-person engineering team work with a system that notoriously requires so much maintenance? In this talk, I'll talk about why we would ever entertain such a notion, what makes Bazel work for us, and how we remain productive in these times.
Speakers
avatar for Prasanna Swaminathan

Prasanna Swaminathan

CTO & Co-Founder, Ergatta
Prasanna is a co-founder and the CTO of Ergatta. Prior to starting Ergatta, he was primarily in the ad tech space, working on setting up global data streaming systems for Fortune 500 companies.
Monday October 14, 2024 2:00pm - 2:30pm PDT
Hahn Auditorium

2:30pm PDT

Break
Monday October 14, 2024 2:30pm - 2:45pm PDT
Monday October 14, 2024 2:30pm - 2:45pm PDT
Grand Hall

2:45pm PDT

Pigweed and Bazel for Embedded Development - Ted Pudlik, Google, LLC
Monday October 14, 2024 2:45pm - 3:15pm PDT
Pigweed is an open-source collection of embedded libraries. We aim to make Bazel the best build system for developing microcontroller firmware. In this talk, I'll discuss how Pigweed leverages Bazel's build configuration APIs and platforms to solve common problems in building embedded firmware: building binaries for multiple cores in one Bazel invocation, compiling flasher scripts that embed the firmware, creating libraries with platform-specific implementations, and more!
Speakers
avatar for Ted Pudlik

Ted Pudlik

Staff Software Engineer, Google, LLC
I am a software engineer at Google. I was originally trained as a theoretical physicist, spent a couple years predicting the impact of network maintenance, then three more in the lidar group at Waymo. I currently work on Pigweed, focusing on making Bazel the best build system for... Read More →
Monday October 14, 2024 2:45pm - 3:15pm PDT
Hahn Auditorium

2:45pm PDT

Remote Execution Birds of a Feather - Chi Wang & Tiago Quelhas, Google
Monday October 14, 2024 2:45pm - 3:45pm PDT
We'll give an update on recent developments in the remote caching and execution space and give the community an opportunity to influence the direction of future efforts. Highlights: - Remote Output Service - Garbage collection for disk cache - Compact execution log - Async execution with virtual threads - Async upload enabled by default
Speakers
avatar for Tiago Quelhas

Tiago Quelhas

Software Engineer, Google
Tiago Quelhas is a Software Engineer in the Bazel team at Google. His primary area of focus is remote execution. He has previously worked on the build and serving infrastructure that powers web applications at Google.
avatar for Chi Wang

Chi Wang

Software Engineer, Google
Chi Wang is a Software Engineer in the Bazel team at Google. He works on remote execution for Bazel and the internal equivalent for Blaze. Before joining Google, he spent most of his time designing and implementing distributed computing systems.
Monday October 14, 2024 2:45pm - 3:45pm PDT
Lovelace

3:15pm PDT

Spotify's Journey to Releasing One of the World's Largest Apps with Bazel - Luka Cindro & Gabriel Borglund, Spotify
Monday October 14, 2024 3:15pm - 3:45pm PDT
At Spotify, we migrated the Android Music app, consisting of 5 million lines of Kotlin, Java and C++ code, from Gradle to Bazel. This talk covers the how we did it, the challenges we faced and how we overcame them. We'll go into how we used a hybrid build to migrate the codebase iteratively, the various patches and performance improvements we made to Bazel and the features we implemented to release the app to end users.
Speakers
avatar for Gabriel Borglund

Gabriel Borglund

Software Engineer, Spotify
Working on the developer experience at Spotify.
avatar for Luka Cindro

Luka Cindro

Staff Engineer, Spotify
Luka is a Staff Engineer at Spotify, where he has worked for 8 years. He focuses on client developer experience and infrastructure, which includes using Bazel for building, testing and releasing Spotify's apps. Prior to that, he worked on Android app architecture.
Monday October 14, 2024 3:15pm - 3:45pm PDT
Hahn Auditorium

3:45pm PDT

Break
Monday October 14, 2024 3:45pm - 4:00pm PDT
Monday October 14, 2024 3:45pm - 4:00pm PDT
Grand Hall

4:00pm PDT

Introducing Remote Bazel - Maggie Lou, BuildBuddy
Monday October 14, 2024 4:00pm - 4:10pm PDT
Many at this conference are familiar with Remote Caching and Remote Execution. Over at BuildBuddy, we’re excited to introduce Remote Bazel - running the Bazel client server and command remotely as well, making your builds even faster and more correct. Even if your builds are triggered by ephemeral CI runners, Remote Bazel will guarantee your builds always run with a warm analysis and repository cache, and remove the need to pull images, install dependencies, and clone git repos on each run. Running builds in the same datacenter as the remote cache and executors also reduces network bottlenecks and egress costs. Even if your company’s developers use machines with different operating systems or versions of tools or don’t even have Bazel installed, Remote Bazel will guarantee that important builds are run in the exact same environment every time. This talk will provide a quick overview of how we built this and the many applications we’re excited about - from speeding up CI to augmenting our UI to improving the daily developer experience via the CLI.
Speakers
avatar for Maggie Lou

Maggie Lou

Software Engineer, BuildBuddy
Maggie is a software engineer at BuildBuddy working on their CI product. She enjoys building features that make her own job easier and faster.
Monday October 14, 2024 4:00pm - 4:10pm PDT
Hahn Auditorium
  Lightning Talks
  • Audience Level Any

4:00pm PDT

Bazel + IDEs BoF - Justin Kaeser & Marcin Abramowicz, JetBrains
Monday October 14, 2024 4:00pm - 5:00pm PDT
As always, we will discuss the state of IDE support in Bazel, the ongoing efforts by JetBrains, Google and others in maintaining the Bazel plugin for IntelliJ. And what better venue to announce the release of our all-new Bazel plugin for IntelliJ!
Speakers
avatar for Marcin Abramowicz

Marcin Abramowicz

IntelliJ Bazel plugin, JetBrains
He is a software engineer at JetBrains, focusing on improving Bazel support in JetBrains products.
avatar for Justin Kaeser

Justin Kaeser

IntelliJ Bazel plugin, JetBrains
Justin believes in "Tools before Rules": automating the development toolchain to remove the friction of dealing with manual processes. He works on this goal as team lead for the Bazel support in IntelliJ IDEA and as customer success engineer at JetBrains.
Monday October 14, 2024 4:00pm - 5:00pm PDT
Lovelace

4:10pm PDT

EngFlow as a Powerful Accelerator for Builds, Tests & Bazel Migrations, and Cloud Cost Reduction - Helen Altshuler, EngFlow Inc.
Monday October 14, 2024 4:10pm - 4:20pm PDT
Learn how to get more value from Bazel for your developer platform with faster migrations and consistently fast builds and tests around the world with cache replication, seamlessly scale remote build execution from 100 to 100,000 cores, get proactive recommendations on further performance improvements, and achieve cloud cost savings from thousands to millions of dollars.
Speakers
avatar for Helen Altshuler

Helen Altshuler

CEO and co-founder, EngFlow
Helen is the CEO and co-founder of EngFlow, a big code developer platform company created by core Bazel engineers and funded by Andreessen Horowitz. She has been a dedicated Bazel community member since 2016, managed enterprise adoption of Bazel at Google and the 1st BazelCon, and... Read More →
Monday October 14, 2024 4:10pm - 4:20pm PDT
Hahn Auditorium

4:20pm PDT

Aspect Build - Alex Eagle, Aspect Build Systems
Monday October 14, 2024 4:20pm - 4:30pm PDT
Aspect authors many of the Bazel rules you know and love. We also provide the missing CI/CD and developer platform to integrate Bazel into your team's workflows and achieve the promised incremental build&test speed while reducing your cloud spend! This talk will update you on our latest and greatest.
Speakers
avatar for Alex Eagle

Alex Eagle

Co-founder and CEO, Aspect Build Systems
Alex worked at Google on Bazel-adjacent systems from 2008-2020. He is a leader of the Bazel OSS community, and the co-founder of Aspect, a Bazel services and product company whose mission is to bring Bazel's promised benefits to all developers.
Monday October 14, 2024 4:20pm - 4:30pm PDT
Hahn Auditorium
  Lightning Talks

4:30pm PDT

Bazel’s Take on (Cc) Shared Libraries - Aloïs Cochard, Modus Create
Monday October 14, 2024 4:30pm - 4:40pm PDT
It took me a while to understand how cc_shared_library works in Bazel. After fighting the system and having reached every possible error message, I took a deep dive into the underlying logic and discovered how powerful that rule is once you understand its opinionated view on shared libraries and the mindset behind the design of the rule. I was also surprised to discover that it relies on Bazel aspects. To the best of my knowledge it is the only core rule that does so. In this presentation I will convey my insights using diagrams depicting how one should reason about cc_shared_library. This will cover how shared libraries are assembled from cc_libraries, how they interact as dependencies of other cc_* rules, and some interesting aspects of the implementation based on… aspects!
Speakers
AC

Aloïs Cochard

Modus Create
Monday October 14, 2024 4:30pm - 4:40pm PDT
Hahn Auditorium

4:40pm PDT

Consistent Hermetic Tooling with Actually Portable Executables - Matt Clarkson, Arm
Monday October 14, 2024 4:40pm - 4:50pm PDT
Actually Portable Executables (APE) is a format of executable that can be ran on Windows, Linux, MacOS, BSDs operating systems from a single binary. A binary can be "fat" to contain both the x86_64 and aarch64 machine code to enable execution on multple CPUs from the same single binary. The `@ape` Bazel module provides the necessary wrappers and launchers to provide common POSIX tooling across all operating systems and CPUs such as `cp`, `mv`, `sed`, `awk` and `curl`. This talk will provide usage information of the `@ape` tools to enable an ecosystem of hermetic tooling for Bazel rulesets that require zero system setup to be used other than a working Bazel installation.

The talk will be split into a few sections:

- An introduction to the Bazel module, it's usage and benefits
- A high level overview into the APE format, Cosmopolitan C library and superconfigure to provide attendees relevant information to understand what the module is providing
- A brief introduction to the ecosystem of hermetic rulesets that expose rules around the APE hermetic binaries, such as `rules_curl`, `rules_gzip`, etc.
Speakers
avatar for Matt Clarkson

Matt Clarkson

Principal Software Engineer, Arm
Matt is a software engineer that has worked up and down the stack throughout his career. His current focus is to bring the benefits of reproducible, hermetic workflows to embedded devices with Bazel. He has previously worked at small sized agile teams before his current role at A... Read More →
Monday October 14, 2024 4:40pm - 4:50pm PDT
Hahn Auditorium

4:50pm PDT

Building a Hermetic Python Environment with Conda in Bazel - Adam Azarchs, 10X Genomics
Monday October 14, 2024 4:50pm - 5:00pm PDT
Bazel’s rules_python supports using a hermetic python environment at build and test time. However, maintaining sufficient similarity between the environment that unit tests are running in under bazel test and the production environment can be challenging, particularly once things like extension modules with nontrivial native dependencies get involved. The conda ecosystem is primarily for python packages, but also includes packages for nearly all of the native dependencies of those python packages as well. This talk describes the bazel rule-set we use to fetch conda packages and deploy them for use both during the bazel build and test, and in production. These rules allow us to provide our customers with a deployment package which they can simply untar and run on a wide range of linux environments with very limited prerequisites, producing several distinct (but overlapping) environments for different products within our monorepo, at the same time ensuring that our unit tests are running in a nearly identical environment, all while maintaining acceptable build times.
Speakers
avatar for Adam Azarchs

Adam Azarchs

Principal Software Engineer, 10X Genomics
17 years in the software industry, across many different platforms (including 2 years in YouTube, where I learned to use blaze), I now spend most of my time helping computational biologists deliver production-quality software.
Monday October 14, 2024 4:50pm - 5:00pm PDT
Hahn Auditorium

5:00pm PDT

Bazel: {Fast, Correct, Seamless}: Choose 3 - Srini Muthu, LinkedIn
Monday October 14, 2024 5:00pm - 5:10pm PDT
While Bazel excels in speed and accuracy, its integration with native ecosystems, particularly IDE support, has been lacking. Jay Conrod’s 2022 BazelCon talk highlighted how this hinders adoption, echoing our observations at LinkedIn. The model recommended in that talk was to have the language server use a build adapter as a liaison to Bazel to correctly resolve imports. Since then, Bzlmod and Uber’s go_deps module extension have enabled us to treat go.mod as the source of truth for Go dependencies thereby removing the need for lengthy WORKSPACE files and constant updates via gazelle-update-repos. While these significantly moved the needle, they didn’t support multi module workspaces, still relied on the build adapter model for IDE support and had no native CLI support. At LinkedIn, we sought to address these gaps. We added Go workspace support to Gazelle and introduced a setup rule wherein Bazel bootstraps the Go SDK, sets Go env vars such as GOPATH within the Bazel workspace and informs IDEs and shells via settings files and direnv, thus providing a seamless developer experience. This has enabled us to drive developer adoption across a poly repo ecosystem at LinkedIn.
Speakers
avatar for Srini Muthu

Srini Muthu

Srinivas Muthu, LinkedIn
Hi there, I'm Srini. I work with the Build Platforms team at LinkedIn, primarily with ecosystems that are powered by Bazel. Previously I worked at Apple Maps building pipelines for geospatial data crunching. Outside of work I enjoy riding bicycles, climbing rocks and spending time... Read More →
Monday October 14, 2024 5:00pm - 5:10pm PDT
Hahn Auditorium

5:10pm PDT

Optimizing Gazelle for Scale and Performance in Uber's Monorepo - Tyler French, Uber
Monday October 14, 2024 5:10pm - 5:20pm PDT
In a repo with almost a million files, `gazelle` historically scales O(size of repo) for automatic BUILD file generation, since gazelle plugins need to read and evaluate source files across the repo in order to prepare the BUILD files' contents. When the peak runtime of gazelle approached 5-8 minutes, this became unscalable at Uber, with developers being blocked and delayed. Our team was able to improve three key metrics related to Gazelle's speed: - Gazelle p75 on CI from >300s to
Speakers
avatar for Tyler French

Tyler French

Sr. Software Engineer, Uber
Tyler French is a Software Engineer on Uber's Developer Platform team and is based in New York City. Tyler leads the dependency management initiative within the Go developer experience. His interests lie in leveraging data and analyzing patterns to strategically improve the engineering... Read More →
Monday October 14, 2024 5:10pm - 5:20pm PDT
Hahn Auditorium

5:30pm PDT

Reception
Monday October 14, 2024 5:30pm - 7:30pm PDT
Monday October 14, 2024 5:30pm - 7:30pm PDT
Grand Hall
 
  • Filter By Date
  • Filter By Venue
  • Filter By Type
  • Audience Level
  • Timezone

Share Modal

Share this link via

Or copy link

Filter sessions
Apply filters to sessions.
Filtered by Date -