Skip to main content

How to migrate an iOS app to Bazel

Brentley Jones
Brentley Jones, Developer Evangelist @ BuildBuddy

Do you have an iOS app, or really any Apple-based project, that you want to migrate to Bazel? With this guide I'll show you how to migrate your project, using the Mastodon iOS project as an example.

We will use iOS based rules in the example migration, but similar rules exist in rules_apple for the other Apple platforms, including macOS, watchOS, tvOS, and visionOS.

The completed migration is available in my fork of mastodon-ios. You can follow along with the changes made in the following sections by checking out this commit first. At the end of some sections there will be a link to a new commit that includes the changes mentioned up to that point.

How Bazel 7.0 Makes Your Builds Faster

Brentley Jones
Brentley Jones, Developer Evangelist @ BuildBuddy

In our last post, we summarized the changes that were in the Bazel 7.0 release. There were a lot of changes though, so it can be hard to determine which ones are impactful to you and why.

Don't worry, we've got your back. In this post we highlight the changes that help BuildBuddy users build even faster!

What's New in Bazel 7.0

Brentley Jones
Brentley Jones, Developer Evangelist @ BuildBuddy

Bazel 7.0 includes over 3,700 changes since 6.0. It's the latest major release, following the release of 6.0 in December of last year, and it's Bazel's fourth LTS release.

Since there were so many changes, many of them quite impactful, I felt I needed to review them all and provide a nice summary for y'all.

Lazily Pulling Container Images with Podman and SOCI Snapshotter

Iain Macdonald
Iain Macdonald, Software Engineer @ BuildBuddy

We’re excited to announce a podman performance improvement that makes pulling container images about ten times faster on BuildBuddy’s hosted execution service, lowering customer build and test times and improving our ability to autoscale the BuildBuddy executor pool. Read on for the nitty-gritty details.

Bazelcon 2023 Recap

Iain Macdonald
Iain Macdonald, Software Engineer @ BuildBuddy

Another year, another Bazelcon! This year's edition was held in Munich, Germany, and featured two days of talks by Bazel maintainers, contributers, and users. Among the Bazel users represented as this year's conference were: Booking.com, RabbitMQ, Spotify, Stripe, Uber, and more.

Here are some of the highlights:

More details below!

BuildBuddy Named to Inaugural Redpoint InfraRed 100

Siggi Simonarson
Siggi Simonarson, Co-founder @ BuildBuddy

New York City – July 18, 2023 – BuildBuddy, which provides an enterprise software for the Bazel ecosystem, announces its inclusion in the first edition of the Redpoint InfraRed 100, a comprehensive list of the next 100 promising private companies in Cloud Infrastructure. This curated selection of companies represents the next generation of leaders in the industry, poised to make a significant impact in the cloud infrastructure market.

Redpoint Ventures is a leading venture capital firm with a diverse portfolio of successful companies including Twilio, Looker, Nextdoor, Ramp, Stripe, Nubank, HashiCorp, Snowflake, Netflix, Hims, and more. In celebration of this accolade, BuildBuddy CEO Siggi Simonarson is joining Redpoint at Nasdaq alongside other InfraRed 100 company leaders to discuss the future of cloud infrastructure.

PostgreSQL Support for BuildBuddy

Zoey Greer
Zoey Greer, Engineer @ BuildBuddy

By popular demand, we are introducing support for a PostgreSQL database backend for BuildBuddy! You can now use PostgreSQL as a drop-in replacement for MySQL or SQLite just by specifying a PostgreSQL endpoint to your BuildBuddy instance.

Providing Control Over Cache Encryption

Vadim Berezniker
Vadim Berezniker, Engineer @ BuildBuddy

BuildBuddy enables fast builds by providing a high-performance cache that stores and serves artifacts, such as the inputs and outputs to your build actions.

Starting today, BuildBuddy customers can provide their own encryption keys that will be used to encrypt and decrypt data stored in the cache. At launch, we are supporting keys managed by Google Cloud Platform KMS and Amazon Web Services KMS.

Buck2 Unboxing

Son Luong Ngoc
Son Luong Ngoc, Solution Engineer @ BuildBuddy

Recently Meta announced the release of Buck2, their official build tool that was rewritten in Rust. I got a chance to try it and integrate it with BuildBuddy's Remote Cache and Remote Build Execution offerings.

Here are the initial impressions I have after a week of using Buck2.

Keyboard Shortcuts in BuildBuddy

Iain Macdonald
Iain Macdonald, Engineer @ BuildBuddy

There are lots of small, satisfying moments in the day-to-day lives of software developers. From finding and deleting dead code, to writing tests that pass on the first run (actually), to receiving UX mocks that call for simplifying the frontend code, those little joys are a pleasant treat! We’re excited to share a small new BuildBuddy Build Result UI feature that we think fits into this category: keyboard shortcuts.

Keyboard shortcuts can be enabled in the personal preferences menu on the settings page in the app. Once enabled, a help menu explaining the shortcuts can be toggled using ? to show and Esc to hide. There’s also a clickable button to close it just in case… if only Vim had one too!

I implemented this feature during a hackathon a couple of months ago and I like how it saves me a second or two on some common tasks in the Build Result UI. My favorite shortcut is Shift-c to copy invocation page links. I use it once or twice a day to share a link in Slack along with the confused emoji.

We love receiving feedback from customers, if you’re excited about this or have other shortcuts you’d like to see in the UI, hit us up on Slack or at hello@buildbuddy.io.

Welcoming Grace Chuang

Siggi Simonarson
Siggi Simonarson, Co-founder @ BuildBuddy

To fulfill our mission of bringing the world's best developer tools to every company, keeping our business running smoothly is as important as ensuring our customers' builds run smoothly. That's why we're excited to share that Grace Chuang is joining BuildBuddy!

Grace joins us from Google, where she spent 5+ years working on Product Strategy and Operations. Prior to Google, Grace spent 3 years at J.P. Morgan.

We look forward to working alongside Grace to build the future of developer tools.

Welcome to BuildBuddy, Grace!

Donating rules_xcodeproj to the Mobile Native Foundation

Brentley Jones
Brentley Jones, Developer Evangelist @ BuildBuddy

Since the first commit of rules_xcodeproj, we’ve been committed to it being community driven and community owned. Early in rules_xcodeproj’s development, multiple companies started using the project, while also putting forth significant contributions. And all throughout its development we’ve solicited feedback from users on how the project is working for them, not working for them, and what we should be focusing on next.

Today we are taking the next step in this commitment; we are solidifying the community ownership of rules_xcodeproj by donating it to the Mobile Native Foundation!