Project

ci_runner

0.01
The project is in a healthy, maintained state
Tired of copying the test suites names from a failed CI? This gem will automate this tedious workflow. CI Runner will download the log from your CI provider, parse it, detect failures and rerun exactly the same failing tests on your machine. CI Runner can also detect the Ruby version used on your CI as well as which Gemfile and reuse those when starting the run locally.
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
 Dependencies

Development

~> 3.11
~> 3.14

Runtime

~> 1.5
~> 13.0
~> 1.2
 Project Readme

CI Runner

CI Runner is a Ruby library to help rerun test failures from your CI on your local machine without having to copy paste log output onto your terminal. CI Runner can rerun failures for the Minitest and RSpec test frameworks.

demo

โš™๏ธ Installation

gem install ci_runner

Note

CI Runner is meant to be installed as a standalone software and not added inside an application's Gemfile.

Run CI Runner

๐Ÿ”“ Login

The first time you use CI Runner, you'll need to store a GitHub access_token. It's quick, I promise!

ci_runner help github_token

๐Ÿƒโ€โ™‚๏ธ Run !

Once you have stored your token, you can run CI Runner main's command: Both commands are identical, the second is just less typing ๐Ÿ˜„ .

ci_runner rerun
ci_runner

Note

You can also ask for help by typing ci_runner help rerun

โ“ How does it work

CI Runner fetch GitHub Checks on your repository and download the associated logfile output on your laptop. It then parses the log output to find relevant information and finally execute a command to rerun exactly the same tests that failed on your CI.

๐Ÿ˜ฒ Test failures, Ruby version, specific Gemfile.

CI Runner aims to run tests on your local machine the same way as on CI. Therefore, CI runner detects the Ruby version used on CI as well as which set of dependencies (what Gemfile).

If a same Ruby version exists on your machine, CI runner will use that to rerun the test failures.

โœ… Compatibility

CI Runner works with:

  • :octocat: Repositories hosted on GitHub
  • :octocat: GitHub CI
  • โšซ Circle CI
  • ๐Ÿช Buildkite
  • ๐Ÿงช Minitest
  • ๐Ÿงช RSpec

If your project uses a different CI, please open an Issue to let me know you are interested ๐Ÿ˜ธ.

๐Ÿ“š Wiki

The Wiki has more explanations on how CI Runner works and how you can configure it in case your projects uses a non standard test output.