Skip to content

Home

CMake & Bazel Meetup in Munich - Recap

Fire up your time machine and set it to July 18, 2024, because we're taking a trip back to the CMake & Bazel Meetup in Munich. Let's set the scene: EngFlow and Apex.AI have joined forces to host a day filled with insightful talks and networking opportunities at Apex.AI's office in Munich.

CMake & Bazel Meetup - Jul 2024 - Munich

The CMake & Bazel Meetup in Munich

There was no shortage of great talks and knowledge, including: - Welcome and Introduction by Dhruv Chad, Apex.AI - Deploying With Bazel on Yocto-based System by Evgeny Petrov, Quello - Automatically Translating Our Bazel Codebase to CMake by Nico Morin, Apex.AI - CMake CPS: What It Is and Why It Matters by Damien Buhl, Tipi - One TOML File to Rule Them All: Official Rules for Multi-Version Multi-Target Python Setup by Michael Krasnyk, Ruumi - Until Next Time

Migrating to Bazel Modules (a.k.a. Bzlmod) - Repo Names and rules_pkg

The previous post in our Bzlmod migration series demonstrated how to make runfiles paths portable to a Bzlmod world. Another common source of Bzlmod file path breakages are misconfigured rules from rules_pkg, which contains rules for building archives from build outputs and/or external repositories. This post will explain key details of some of these rules, so you can stop "holding it wrong" and easily migrate archive targets to Bzlmod.

Sydney: Around the World with Bazel in Watercolors

This article is part of the series "Around the World with Bazel in Watercolors".

As the images hint, I was mostly inspired by the rich Tasmanian landscape, which is where we went on a family vacation. I did, however, sandwich that week between working for a week in Sydney and a week in San Francisco. In Sydney I couldn’t pass on an opportunity to meet with our customers while visiting family, and to gather local engineers passionate about Bazel (all 10 of them! 😃) from Canva, Splunk, Snap, MongoDB, and more for a Bazel meetup.

Sydney Watercolors

Migrating to Bazel Modules (a.k.a. Bzlmod) - Repo Names and Runfiles

The first post in our Bzlmod migration series explained many of the problems that may arise when migrating your project. These next three posts will explore various solutions to problems arising from changes in how Bazel handles repository names under Bzlmod, beginning with runfiles paths. After applying the techniques in this post, your project should be well insulated from runfiles path related breakages, now and well into the future.

Around the World with Bazel in Watercolors

Bazel in Watercolors

This article is part of the series "Around the World with Bazel in Watercolors".

One of the challenges of leading a globally distributed company with employees and customers on 6 continents is making time for meaningful connections with people. I’ve embraced this challenge and turned it into an opportunity. That means combining travel with industry conferences, team summits, customer and future customer relationship development, and product discovery. So far this year, that includes 12 cities (Sydney, San Francisco, New York, Amsterdam, Barcelona, Boston, Munich, Berlin, Cologne, Minneapolis, Chicago, Seattle), 71 customer and future customer visits, and gathering a total of 231 engineers at our events, plus meeting up with EngFlow team members.

Migrating to Bazel Modules (a.k.a. Bzlmod) - The Easy Parts

You may be aware that Bazel will remove support for WORKSPACE in Bazel 9 in favor of Bazel Modules (a.k.a. Bzlmod). The current mainstream release is Bazel 7.2.0, so there's plenty of time to migrate. However, there's no time like the present to get started, to avoid further WORKSPACE dependencies and a pile of migration work in the future.

I recently completed the Bzlmod migration for EngFlow/example and our internal repos. This experience taught me a lot about Bzlmod and about migrating complex projects with challenging dependency issues that I'll share over a few blog posts. I'll also borrow from Sara Adams's earlier post, in which she described an example bzlmod migration based on EngFlow's Bazel Invocation Analyzer repo.

2024 EngFlow Team Summit - Recap

EngFlow Team in Barcelona

April 1, 2024 was no joke for EngFlow! On this humorous day, we gathered for our annual team summit, meeting this year in Barcelona, Spain. EngFlowers from 11 countries descended upon the beautiful Catalan city to deepen ties to our work and each other. A key priority for the week was our “Happy Team” principle, which serves as the foundation of our company framework: “Happy team, Happy customers, More happy customers.” The summit theme also focused on leaning into EngFlow’s core values of LEAP — Loyalty, Excellence, Adventure, and Perseverance.

The Many Caches of Bazel

As its "{fast, correct} — choose two" tagline promises, a major feature of Bazel is performance. Caching is a key technique Bazel uses to improve build speed. Bazel deploys several kinds and layers of caches. There are so many caches that it’s hard to keep them straight. Additionally, frequently used terms like “action cache” can be ambiguous. This blog post will lay out the major Bazel caching mechanisms.

What’s common between GCP Next and the Sphere?

My impressions and insights based on attending the GCP Next event in Las Vegas on April 9-11, 2024.

GCP Next

Summary

Thanks to our Google Cloud Platform partner, I was able to attend the GCP Next conference in Las Vegas this year. This was my 2nd GCP Next; the first was in 2018 in San Francisco, when I was actually on the inside as part of the Google Cloud team, leading content for the DevOps tooling track!

The schedule and setting made it very clear that Google’s top goal for GCP Next this year was to promote AI, followed by security. There was also a prominent display of data and security platforms, but AI dominated even those vendor displays and presentations.