Alone it wouldn't have been very noticeable, but I did many small optimizations like that, which ultimately shaved about 20 seconds of setup time.
Looking from another angle, the app boot time on CI (not eager loading) was a bit more than 10 seconds, this saved over half a second, so a ~5% gain for an afternoon of work.
Nothing ground breaking we simply deploy Buildkite agents on EC2 nodes.
As mentioned in the post, the only thing really limiting CI parallelism is the ratio of "setup time" vs "test time". If your setup time is too long, you hit diminishing returns fast.
Aside from the oddness of making this cache git aware, with the new implementation I suspect querying git to revalidate the cache would take longer than just rebuilding it.
Looking up the hash of a tree in git is few enough operations that I would be very surprised if that is true for all but the smallest caches. If you were to shell out to the git binary, maybe.
Sarkozy, who renamed what descended from De Gaulle's party into "Les Républicains" because of his obsession for the US. Who also got sponsored by Gaddafi, and invited him to pitch his tent in the Elysée's garden. And who ten years ago was still spewing climate change denial crap. He probably still would, but he's too busy talking about how his 10 days in prison was the most atrocious experience a human being had to endure.
Funny how much his pathetic 5 years in office keep on giving.
> The ideal situation with Rails would be if there is a simple way to switch back to Redis
That's largely the case.
Rails provide an abstracted API for jobs (Active Job). Of course some application do depend on queue implementation specific features, but for the general case, you just need to update your config to switch over (and of course handle draining the old queue).