Here is a small collection of some interesting Bazel blog posts. If you have an interesting Bazel blog post to share add it to the comment section or send me the link via mail.
History
- Birth of the Bazel
- Your Roots Are Showing
- An Overview of the Starlark language
- GitHub Archive Checksum Outage
- How GitHub’s upgrade broke Bazel builds
Foundations
- Simplify Your Bazel Workflow with Bazelisk
- How to Use Bazel for Your Build Process
- Practical Bazel
- Estimating the effort to build a Bazel CI/CD
- Using Bazel to help fix flaky tests
- Bazel Hermetic Toolchain and Tooling Migration
- The Many Caches of Bazel
- Bazel Overlay Pattern
Rules
- Writing a Bazel rule set
- Writing Bazel rules: simple binary rule
- Bazel Rules: Create a File
- Decentralized Downloads for Bazel: Introducing
Bazel Migration Stories
Bazel 7
- Bazel 7.0 LTS
- What’s New in Bazel 7.0
- Bazel 7 is here — and Bazel Invocation Analyzer is ready for it!
Communities
YouTube
Starlark
- Embedding Starlark (Part 1) — Configure Go Programs with Starlark Scripts
- Embedding Starlark (Part 2) — Extend Go Program Functionalities with Starlark scripts
Internals
- Bazel Caching Explained (pt. 1): How Bazel Works
- Bazel Caching Explained (pt. 2): Bazel In-Memory Cache
Remote Cache
- Github Workflows With Docker and Bazel Caching
- (Bazel) Part 2 — Monitor your bazel builds using buildbuddy
- Bazel Knowledge: Be mindful of Build Without the Bytes (bwob)
Remote Execution
Bzlmod
- bzlmod Modules
- Adopting Bazel’s new package manager
- What’s new with Bzlmod?
- Migrating to Bazel Modules (a.k.a. Bzlmod) — The Easy Parts
Angular
C++
- Using Bazel aspects to run clang-format
- Using toolchains in custom Bazel C++ rules
- External C++ dependency management in Bazel
- How to Use C++20 Modules with Bazel and Clang
- Bazel vs. CMake: Discover the advantages of Bazel migration
- Use non-Bazel Libraries in Bazel Project
- New Features in CLion’s Bazel Plugin: Custom Toolchains and Windows Support
Vulkan
- Introducing rules_vulkan for Bazel
- Bazel in Vulkan Projects. Part 1 — Environment Setup
- Bazel in Vulkan Projects. Part 2 — Shaders
Container (Docker/OCI)
Java
- Building a Spring Boot server with Bazel
- Creating a javadoc rule for Bazel
- Migrating to Bazel as a build tool
- Building Java Applications with Bazel
- Bazel Knowledge: What’s an Interface JAR?
- Bazel Knowledge: dive into unused_deps
Python
- A Basic Python Toolchain in Bazel
- Hermetic Python Toolchain with Bazel
- Python toolchains in rules_python
- Reproducible Builds with Bazel
- Bazel Python TUI Bootstrap
Go
- Building a Go project using Bazel
- Golang with Bazel
- Building Golang With Bazel and Gazelle
- A Web App Using Bazel Golang WASM and Proto
- Beautiful Builds with Bazel
iOS/Swift
- Building Faster in iOS with Bazel
- Bazel iOS Hello World (Objective-C, Mac M1 / M2)
- Hello World iOS App Tutorial with Bazel