RWX is the only CI/CD platform that has intelligent, automatic caching. Specify a filter, and RWX takes care of the rest. Other platforms will spend lots of time and compute running redundant tasks – the same commands, on the same files, as has previously been executed.
With a recent change, RWX caches even more effectively by preventing cache races.
#Cache Races
Previously, it was possible for two tasks with the same cache key to execute at the same time.
- Task 1 checks the cache, gets a cache miss, and starts executing.
- Task 2 checks the cache, gets a cache miss, and starts executing.
- Task 1 writes its result to the cache.
- Task 2 writes its result to the cache.
Loading diagram...
#Preventing Races
Running into this race is especially common for engineering teams using a monorepo. With an embedded run per package in a monorepo, it's possible to have a very large number of redundant tasks.
In an effort to reduce compute, maximize cache hits, and make builds more reliable, RWX will now prevent cache races. When two tasks have the same cache key, the second task will wait for the first one to finish executing so that it can be a cache hit.
When this scenario occurs, you'll see a message in the UI:
This task has the same cache key as another in-progress task in this run. This task will start once that task finishes.
#Demo
Related posts

What would GitHub Actions look like if you designed it today?
GHA was designed in ~2018. What would it look like if you designed it today, with all we know now?

Truly continuous integration: ensuring pull requests from agents have passing builds
RWX CLI v3.0.0 introduces new tools for developers and coding agents to iterate on changes until CI passes - without a single commit or push.

