""
Fast, Scalable, Developer Workflows and Infrastructure for Bazel
Optimize your Bazel configuration so you can spend less time waiting on CI and more time shipping code to production.
Minimize cloud costs with self-hosted, auto-scaling CI runners that leverage Bazel’s built-in incrementally
Aspect Workflows remote cache & remote execution clusters are self-hosted on your AWS or GCP cloud account.
Features to support each part of the development process, so you can focus on delivering exceptional products.
Remote Build Execution (RBE) is beneficial for developers working on large-scale repositories where changes impact significant portions of the codebase. By leveraging RBE, Aspect Workflows accelerates build speeds, enabling your team to maintain momentum and focus on building innovative products.
Bazel comes with a sophisticated scheduler that maximizes parallel execution based on available resources. RBE extends this capability by enabling remote execution on additional machines.
Increased Parallelism: Offload tasks to multiple remote machines, accelerating build times.
Scalability: Scale your build processes by adding more remote workers as needed.
Optimized Resources: Choose instance types to match your Bazel actions, ensuring efficient and cost-effective builds.
While RBE offers powerful benefits, it's not always the first solution for speeding up builds. Aspect focuses on minimizing execution through highly incremental builds, ensuring that only necessary actions are executed, whether locally or remotely. However, for large codebases with complex build graphs, RBE can be a game-changer.
Dynamically stream failed test targets, build errors, and reproduction steps to a GitHub comment as soon as they occur.
Gain visibility into cache performance — see which tests were executed and how much time was saved via caching.
Link directly to the underlying CI host tasks on Buildkite, CircleCI, or GitHub Actions.
Improve visibility of errors by bringing them directly into code review.
Reduce time to action by fixing errors before a build finishes.
Assist new Bazel developers by providing repro commands.
rules_lint is our open-source ruleset that integrates seamlessly with Bazel, automating code formatting and linting across multiple languages. With rules_lint, you can:
Automate Formatting: Quickly format files on pre-commit hooks with format_multirun, ensuring consistent code across your repository.
Comprehensive Linting: Run linters across entire programs using Bazel’s dependency graph, with numerous tool integrations available out-of-the-box.
The Aspect CLI introduces the missing lint command to Bazel’s ecosystem, offering a user-friendly interface. With Aspect CLI you can easily generate lint reports and apply suggested fixes directly from your terminal.
Interactive Fixes: Review and apply linter-suggested fixes with ease, whether manually or automatically.
Seamless Integration: Transition to effortlessly, enhancing your team’s productivity without disrupting existing workflows.
Integrate linting directly into your GitHub code review process with Marvin, our code review bot. Marvin presents lint feedback as Github checks and auto-fixes as suggested fixes in code review on your pull requests, helping you and your reviewers quickly address issues without disrupting your workflow.
Selective Delivery helps teams deliver software more efficiently, and accelerate their development cycles, making it an essential strategy for modern software development.
Selective Delivery is a powerful feature that optimizes and simplifies continuous delivery pipelines by automatically detecting and delivering only targets that are affected by a change set.
Faster Delivery: By focusing on specific, modified targets, delivery times are significantly reduced, allowing teams to iterate and release updates more quickly.
Efficient Resource Usage: With Selective Delivery, you avoid the overhead of delivering release artifacts that are unaffected by a change set, optimizing both CI/CD time and cloud resources.
Simplified Configuration: Adding a new target for delivery is as easy as adding a new Bazel target, enabling teams to easily configure and maintain their own delivery targets.
Granular Control: By integrating with Bazel’s fine-grained build capabilities, Selective Delivery ensures that only the necessary components are targeted for delivery, providing precise control over the release process.
Enhanced CI/CD Pipelines: This approach fits seamlessly into modern CI/CD workflows, enabling easy configuration of automated and incremental deployments that maintain the stability and performance of your application.
Streamline your development workflow with Aspect’s Custom Bazel Migration Package. Our expert-led migration process ensures a smooth transition from your current build system to Bazel, minimizing disruptions and optimizing performance. We provide the tools and guidance you need to make your migration a success.