super_diff
super_diff copied to clipboard
CI takes a very long time to run
Each job defined in the GitHub workflow file takes between 7 and 9 minutes to run. The majority of slow tests are integration tests, which run the rspec
command inside of a subshell and then test the output. A while back I tried to see if I could use Zeus to speed this up. The basic concept behind Zeus is that it opens a Ruby process, preloads some code, and waits until it receives further instructions. When you want to do something, it will fork (thereby creating a clean slate in memory) and then run your code. Unfortunately Zeus has not been updated in years, so it's not a viable option. Spring offers a more approachable implementation as it's written in pure Ruby instead of Go, but is tailored for Rails and doesn't allow the same level of customization as Zeus. So we might have to write our own version of Zeus, or fork Spork, or something like that.
It looks like someone has created a project called Expedite, which is a heavily modified version of Spring that supposedly works on more abstract Ruby projects. Maybe worth looking into.