Always feels good when you manage to get a test suite run time down from 26 minutes to 4 minutes 😂
Commit
17795ff
@bagwaa couldn't agree more, for your case though, what did you change?
Mostly the database with a few other small paper cuts that needed fixing, I only joined the team a month or so ago so this was just some low hanging fruit.
• A dedicated test MySQL with no binlog, no flush on commit and data in memory (biggest win by far)
• Removed
RefreshDatabase where we already truncated. TRUNCATE commits the transaction, so Laravel rebuilt the DB ~100 times a run
• Dropped #[RunInSeparateProcess], which rebuilt it too
• Xdebug off, and faked a 30s sleep in one test
• CI: round-robin sharding in ParaTest and Pint --parallelcommit 17795ff