Team-based acceleration gains with shared dependency graphs
By setting up shared dependency graphs, you can
- Automatically synchronize dependency graphs between both human and automated users, including CI systems and developers.
- Avoid spending time testing code that’s already been tested by another user, further reducing test times.
- Enable new users on a project to accelerate tests immediately, instead of needing to run the full test suite.
Brief background
For context, YourBase’s intelligent test selection works by depending on two pieces of data: a dependency graph, and the set of code changes that occurred since the last run test executions.
An initial dependency graph is built with a complete execution of the test suite. After all tests are observed and mapped for the first and only necessary time, users then connect to the dependency graph to execute tests with acceleration.
Without shared graphs
With YourBase, tests need to be run fully at least once before they can be accelerated and skipped in future test runs. Without shared graphs, every user would need to run a full build.
Example with a 3-person team:
We eliminated this redundancy by providing the ability to share a dependency graph amongst multiple developers and/or CI systems. Now to accelerate tests, only one user needs to run the full test suite, ever.
With shared graphs
With shared graphs, graphs are made available to all parties, as long as they installed the YourBase plugin and have shared graph storage set up (which is simple to do). This includes both CI systems and developers.
Each build is also immutable and stores data about its origin.
Due to the completeness of each graph, they can safely be stored and distributed in order to get a new user accelerating tests immediately.
Using a shared storage mechanism for build graphs, developers can quickly use acceleration results generated by other developers or CI(s) transparently without needing to perform any full test suite runs themselves.
So by sharing the work done by one user to build the dependency graph, we allow every other user in the connected shared graph network to not only accelerate their tests, but realize further accelerations due to the continual updates to the dependency graph made by another user in the network. We handle the updates so that concurrent updates are also managed correctly with accuracy.
Behind YourBase is a team that specializes in delivering elegant developer productivity solutions that are easy to use, intuitively architected, and leads to big speed gains for hardworking tech teams. Try us out easily for free.