ferruleremote cache + CI runners · v4.2

// unpaid, unprompted, mostly typed at night

People stopped watching the progress bar.

11m 40s2m 06s

Median CI time across 212 public repos that switched in Q1 2026.

Nadia Rahman@nadia_buildsMar 3

turned on the remote cache for our turborepo at 11pm out of pure spite. CI went from 14 minutes to under 4. going to bed.

ci14m 02s3m 51s
812
MTMei Tanaka@mei_shipsMar 9

honest review: the setup docs assume pnpm. we're on yarn 1 like cavemen, so it took 25 min instead of 5. still the best afternoon of the quarter.

$yarn@1.22.19 # don't @ me
97
Kwame Mensah@kwame.codesMar 2

PR checks now finish before I'm done writing the PR description. That's not a speed bump, that changes how the team works.

p50 pr check11m 40s2m 06s
640
JAJuniper Ames@junebug_engFeb 28

we had one engineer whose whole job was babysitting the Jenkins box. he works on the product now and is happier about it than any of us.

401
Nadia Rahman@nadia_buildsMar 3

turned on the remote cache for our turborepo at 11pm out of pure spite. CI went from 14 minutes to under 4. going to bed.

ci14m 02s3m 51s
812
MTMei Tanaka@mei_shipsMar 9

honest review: the setup docs assume pnpm. we're on yarn 1 like cavemen, so it took 25 min instead of 5. still the best afternoon of the quarter.

$yarn@1.22.19 # don't @ me
97
Kwame Mensah@kwame.codesMar 2

PR checks now finish before I'm done writing the PR description. That's not a speed bump, that changes how the team works.

p50 pr check11m 40s2m 06s
640
JAJuniper Ames@junebug_engFeb 28

we had one engineer whose whole job was babysitting the Jenkins box. he works on the product now and is happier about it than any of us.

401
Tomasz Wierzbicki@tomasz.devFeb 27

ferrule why just told me a single .env.example was busting the cache for 40 packages. Two years. Two YEARS.

$ferrule why apps/web --since main
1,204
Rafael Silva@rsilvaFeb 19

CI bill, February: $4,212. March, with Ferrule: $1,380. Our CFO replied with a thumbs up, which has never once happened.

ci spend$4,212$1,380
2,290
Lena Kowalczyk@lenakFeb 24

Migrated 3 repos off self-hosted runners. Deleted 1,100 lines of bash. Nobody has asked where they went.

$git rm -r .ci/scripts # -1,104
1,876
Adaeze Okafor@adaezeMar 12

the free tier is 10 GB of cache, which sounded small until I checked and we were using 3.2 of it

$ferrule usage 3.2 GB / 10 GB
88
Tomasz Wierzbicki@tomasz.devFeb 27

ferrule why just told me a single .env.example was busting the cache for 40 packages. Two years. Two YEARS.

$ferrule why apps/web --since main
1,204
Rafael Silva@rsilvaFeb 19

CI bill, February: $4,212. March, with Ferrule: $1,380. Our CFO replied with a thumbs up, which has never once happened.

ci spend$4,212$1,380
2,290
Lena Kowalczyk@lenakFeb 24

Migrated 3 repos off self-hosted runners. Deleted 1,100 lines of bash. Nobody has asked where they went.

$git rm -r .ci/scripts # -1,104
1,876
Adaeze Okafor@adaezeMar 12

the free tier is 10 GB of cache, which sounded small until I checked and we were using 3.2 of it

$ferrule usage 3.2 GB / 10 GB
88
Grace Oyelaran@goyelaranMar 11

Our flaky-test quarantine list shrank after we moved to hermetic runners. I did not touch a single test. Slightly offended, honestly.

quarantined374
356
HGHollis Grant@hollisgMar 14

the cache hit chart is the first CI graph I have ever opened on purpose

hit rate38%91.4%
143
Karim Haddad@karimhMar 6

small thing, but replaying a failed CI job on my laptop, same env, same cache, same failure, is actual witchcraft

$ferrule replay run_8f21c0
529
Ji-ho Park@jihoparkMar 15

first time I saw a 600 MB docker layer come back as a remote hit I laughed out loud in a quiet office

$layer sha256:9c1e… HIT (remote) 0.8s
733
Grace Oyelaran@goyelaranMar 11

Our flaky-test quarantine list shrank after we moved to hermetic runners. I did not touch a single test. Slightly offended, honestly.

quarantined374
356
HGHollis Grant@hollisgMar 14

the cache hit chart is the first CI graph I have ever opened on purpose

hit rate38%91.4%
143
Karim Haddad@karimhMar 6

small thing, but replaying a failed CI job on my laptop, same env, same cache, same failure, is actual witchcraft

$ferrule replay run_8f21c0
529
Ji-ho Park@jihoparkMar 15

first time I saw a 600 MB docker layer come back as a remote hit I laughed out loud in a quiet office

$layer sha256:9c1e… HIT (remote) 0.8s
733