RSpec: GitHub to Jenkins to Spot Instance Parallelization and Back Again
summary
Pipeline wires GitHub PRs through the ghprb pull request builder into a parameterized build flow plugin job that shards RSpec files across 25 parallel spec-runner jobs, boots ec2 spot instances from an AMI via the ec2 plugin, runs isolated DB-backed tests, then collects results with Groovy/scripler glue and posts status back to GitHub. Turnaround drops from ~90 minutes to ~7–8 minutes, cost falls dramatically, and gotchas include spot terminations, a “spotpocalypse” risk, and 1–2 minute DB setup overhead that limits further scaling.
AI-written summary · about
chapters (23)
- 0:00Intro
- 2:35Unit Tests
- 3:01Continuous Unit Tests
- 3:13Parallel Tests
- 3:34cruft
- 4:09paralyze
- 4:44GitHub to Jenkins
- 5:17Move Jenkins
- 5:30Build Flow Plugin
- 6:39SpecRunner Plugin
- 7:37Parallelization
- 7:56AWS
- 8:25Spot Instances
- 13:14Build Executors
- 14:16Build Flow
- 14:37Groovy Bug
- 15:41Test Run
- 16:09Placement Server Events
- 16:30GitHub Pull Request Builder
- 16:46Lessons Learned
- 19:47Things That Made This Work
- 20:17ScriptLer
- 21:28Conclusion
related talks
23mRSpec: GitHub to Jenkins to Spot Instance Parallelization and Back Again
43mSpot Instances
26mAccelerating cloud native deployment with GitHub Actions and AWS
44mExtending GitHub Flow with Practical Testing
06mBuilding Continuous Delivery Pipelines
30mContinuous Integration; Tips & Tricks
01h 02mContinuous Integration: Tips & Tricks
27mJenkins with Ruby on Rails
