Feature Roadmap
This page is shared with Aspect customers to:
- Show the relative ranking of features Aspect engineers are working on.
- Provide some guidance around upcoming releases, allowing customers to plan.
- Showcase features that are recently added to the product.
The future roadmap is always subject to change, and no delivery dates are promised.
Note that Aspect also provides a detailed, low-level Release Notes document to operators for each release, intended for a release engineer to find specific commits that may introduce risk for an upgrade.
Upcoming
External remote cache and remote execution for local development (GCP)
An independent instance of the remote cache prevents local development from introducing cache poisoning. Individual user identities will be used for authenticating usage of the external remote cache and remote execution, rather than a shared secret held by all developers.
Lint results
Linters wired via rules_lint or any similar tool run as a workflows task.
When used together with our GitHub App, the results are presented in the code review as "bot reviewer" comments.
Automated Build Health monitoring
Nightly clean builds to check for build failures masked by cache hits and automatic non-determinism detection.
Per target metrics, monitoring & analytics
Per target level build metrics and observability. Monitoring for regressions in build times. Build analytics on bottlenecks and critical path for tuning and optimizing your build.
Workflows Management UI
A management UI for monitoring and managing your Workflows deployment.
Workflows Build Breakage UI
A build results UI for developers that presents key information about build & test results and helps developers get unblocked quickly.
Available Now
Bazel results as Code Review comments from "Marvin"
By installing Aspect's new GitHub App, developers can get real-time feedback from the Bazel build and test job that runs inside the CI cluster. This is in the form of comments posted to the GitHub Code Review thread by our "Marvin" robot. The comment presents easily understood results of failing tasks, including instructions to reproduce and repair the problem.
Sneak peak at what build & test results will look like on PRs:
![](/img/github_build_results_1.png)
![](/img/github_build_results_2.png)
Format task
Workflows can report the results of running formatters, ensuring that developers remembered to run them, or installed a pre-commit hook that runs them automatically.
This is typically used with rules_lint to create the formatter binary.
Developer Remote Cache on AWS
Workflows can optionally create a separate instance of the Buildbarn remote cache, to be used by developers on their local machines.
This speeds up local builds, without introducing risk of non-hermetic actions poisoning the cache used by CI.
Delivery configuration expansion
The Continuous Delivery feature now lets users supply multiple queries to drive the delivery task, with each deliverable being able to be triggered on a different condition (or unconditionally).
This allowed one customer to deliver artifacts "unconditionally" on each build, matching the expectation of their deployment pipeline.
Self-led Bazel 101 Course for Product Engineers
Aspect Customers have access to our training course. The material is presented by our CEO, Alex Eagle.
Start at Bazel 101
Custom alarm subscriptions
Customers can choose to be alerted to potential problems by subscribing to an SNS topic.
AWS GovCloud
If you are required to run infrastructure in GovCloud, you know why you need this feature.
Remote build execution
Customers can opt to have portions (or all) of their workload run on remote executors co-located with the remote cache. This has several benefits, including efficient parallel builds, reduced capacity requirements for ephemeral CI runners, and hot caches on each executor for faster overall builds.
External remote cache and remote execution for local development (AWS)
An independent instance of the remote cache prevents local development from introducing cache poisoning. Individual user identities are used for authenticating usage of the external remote cache and remote execution, rather than a shared secret held by all developers.