You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
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.
The text was updated successfully, but these errors were encountered:
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.
Solved by #271 – with preloading and then forking instead of Zeus, the test matrix takes less than 2 minutes in CI, and the entire run against main takes less than 3 minutes.
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.The text was updated successfully, but these errors were encountered: