Alex EagleforAspect Blogblog.aspect.build·Sep 11, 2024Announcing Linting for BazelAspect's mission is to make developers productive in large-scale polyglot repositories. We largely rely on the Bazel build system to power that productivity gain. But what happens when Bazel has a major missing feature that all developers need? There...Discuss·578 readsbazel
Alex EagleforAspect Blogblog.aspect.build·Aug 20, 2024Announcing Remote Build ExecutionRemote Build Execution (RBE) is a technique for off-loading computation of a wide build and test graph to a farm of worker machines. It can vastly speed up development when changes affect a large subgraph of a monorepo. Aspect is pleased to announce ...Discuss·532 readsbazel
Alex EagleforAspect Blogblog.aspect.build·Aug 15, 2024rules_js 2.0Two years ago, we launched the semver-stable release of Aspect's JavaScript ruleset for Bazel, rules_js. Today I'm happy to announce that we've wrapped up development on the 2.0 release, and it's time to upgrade! While you're poking at your Bazel set...Discuss·231 readsbazel
Alex EagleforAspect Blogblog.aspect.build·Aug 9, 2024Experiment with Buf and Starlark DocgenThis post documents some experimentation. It's not useful guidance for you to follow today! I've spent a lot of time thinking about API docs for Bazel rules. I spent several weeks writing docs.aspect.build/rules with very thoughtful presentation of ...Discuss·356 readsstarlark
Alex EagleforAspect Blogblog.aspect.build·May 22, 2024Scaffold a new Bazel workspaceBazel has a reputation for being complicated, and one reason is that it doesn't come with reasonable default behaviors. I've written about this before, for example https://blog.aspect.build/bazelrc-presets. Since there's not much pressure on the Baze...Discuss·279 readsbazel
Alex EagleforAspect Blogblog.aspect.build·Apr 23, 2024Aspect Workflows Case Study: SourcegraphSourcegraph is a code intelligence platform known for their AI coding assistant, Cody. Their software is developed in an Open-Source repository by a large team of engineers, primarily in Go, TypeScript, and Rust. They were building ~50 different dock...Discuss·370 readsbazel
Alex EagleforAspect Blogblog.aspect.build·Apr 5, 2024Running local tools installed by BazelIt's a common pattern that developers in your repo are expected to run some command-line tools as part of interacting with the code. For example, maybe they need to run terraform plan when working with Terraform files. However, it's a non-stop hassle...Discuss·1.1K readsbazel
Alex EagleforAspect Blogblog.aspect.build·Mar 20, 2024CODEOWNERS and BazelGating submission of code changes on the right reviewers is a critical and nuanced problem. Most companies are using GitHub for code review. It supports a single file named CODEOWNERS in the root of the repository. This clearly wasn't designed for mo...Discuss·1 like·487 readsbazel
Alex EagleforAspect Blogblog.aspect.build·Mar 15, 2024Preventing production code depending on experimentsAt Google we had an /experimental folder in source control. This is a nice way to be able to check in code in a monorepo that you're just "spiking" on, with all the usual developer ergonomics and access to shared library code. There's also no expecta...Discuss·1 like·314 readsbazel
Sanket Singhsanketsingh.hashnode.dev·Mar 11, 2024Understanding Build Systems with BazelTo fully appreciate the value of build systems in managing multi-file projects, let's explore a scenario that highlights the complexities of manual management versus using a build system. We'll use a simple Java project as an example to illustrate th...Discuss·27 likes·656 readsbazel