Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/edouard-chin/ci_runner
Rerun failures from a CI on your local machine without copy/pasting.
https://github.com/edouard-chin/ci_runner
ci circleci github-actions testing-tools
Last synced: 19 days ago
JSON representation
Rerun failures from a CI on your local machine without copy/pasting.
- Host: GitHub
- URL: https://github.com/edouard-chin/ci_runner
- Owner: Edouard-chin
- License: mit
- Created: 2022-07-17T19:03:08.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2024-01-04T18:48:14.000Z (11 months ago)
- Last Synced: 2024-10-31T07:34:40.332Z (20 days ago)
- Topics: ci, circleci, github-actions, testing-tools
- Language: Ruby
- Homepage:
- Size: 6.81 MB
- Stars: 37
- Watchers: 4
- Forks: 1
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
Awesome Lists containing this 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](./demo.gif)
## :gear: Installation
```sh
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
### :unlock: Login
The first time you use CI Runner, you'll need to store a GitHub access_token. It's quick, I promise!
```sh
ci_runner help github_token
```### :running_man: 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 😄 .```sh
ci_runner rerun
ci_runner
```> **Note**
>
> You can also ask for help by typing `ci_runner help rerun`## :question: How does it work
CI Runner fetch [GitHub Checks](https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/collaborating-on-repositories-with-code-quality-features/about-status-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.**#### :astonished: 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.
## :white_check_mark: Compatibility
CI Runner works with:
- :octocat: Repositories hosted on GitHub
- :octocat: GitHub CI
- :black_circle: Circle CI
- :kite: Buildkite
- :test_tube: Minitest
- :test_tube: RSpecIf your project uses a different CI, please open an Issue to let me know you are interested 😸.
## :books: 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.