Sandboxing is the Key to Caching without False Positives

CI/CD
Jul 23, 2025
Dan Manges
Sandboxing is the Key to Caching without False Positives

RWX is the only CI/CD platform that automatically caches everything. Cache keys are determined automatically, and tasks are sandboxed so that they can only access the files specified in the filter.

On other CI/CD platforms, engineers have to manually configure cache keys, and executions are not sandboxed. Adding cache configuration is tedious and error prone. And since tasks can access files outside of the specified cache key, cache hits could be false positives. At best this can result in builds breaking for other engineers, and at worst it can result in bugs making it out to production.

What is Sandboxing?

In general, sandboxing is the computer science term used to describe limiting access to certain things. For example, it's commonly used for security to ensure that a program can only access the files and network resources that it's supposed to.

It's also the technique that we use for executing tasks with reliable caching on RWX.

How Caching Works on GitHub Actions and Other CI Platforms

On GitHub Actions, you have to manually orchestrate caching. To configure the cache key, it's recommended to use the hashFiles function. For example, if you wanted to cache the results of setting up a database, you might do:

hashFiles('db/**')

However, all of the other files from the project are still present on disk. If a file outside of the db directory affects the execution, you'll get false positives on the cache (meaning you'll get a cache hit when you shouldn't have).

This creates two problems:

How Sandboxing Works on RWX

When running tasks on RWX, you can specify a filter.

The filter does two things:

The combination of this means that the automatic, intelligent caching on RWX works perfectly. It never produces a false positive.

Demo

Never miss an update

Get the latest releases and news about RWX and our ecosystem with our newsletter.

Share this post

Enjoyed this post? Pleas share it on your favorite social network!

Related posts

Read more on updates and advice from the RWX engineering team

See all posts
Proposal for a New Way to Build Container Images
CI/CD

Proposal for a New Way to Build Container Images

This is our proposal for a new approach for building container images that provides substantially faster builds with simplified configuration.

Jul 24, 2025
Read now
Retry Failures While Run in Progress
CI/CD

Retry Failures While Run in Progress

Unlike GitHub Actions, tasks that fail on RWX can be retried immediately, even while other tasks are still running.

Jul 22, 2025
Read now
ARM Architecture Now Available
CI/CD

ARM Architecture Now Available

We just shipped support for running Arm64 on RWX. Building Arm containers 10x faster without emulation.

Jul 21, 2025
Read now