9 releases
0.1.8 | Aug 21, 2023 |
---|---|
0.1.7 | Feb 21, 2023 |
0.1.6 | Aug 26, 2020 |
0.1.5 | Dec 7, 2018 |
0.1.3 | Jul 22, 2018 |
#485 in Development tools
16KB
205 lines
cheapskate-ci
Run your CI locally.
Installation
- Run
cargo install cheapskate-ci
, or - Clone the repository and run
cargo install --path .
Usage
Create a cheapskate-ci.toml
in the root of your project.
See cheapskate-ci.toml for an example.
Example pre-commit hook (to make sure all commits are passing):
#!/bin/sh
cheapskate-ci run
There's no post-push hook, unfortunately, so after pushing you'll want to manually run:
cheapskate-ci run --status
Which will again run the steps, and then send a successful commit status to GitHub.
Note: the first time you run this, it will prompt you for a GitHub token.
You'll need to generate one with the repo:status
scope and paste it in.
That token will be cached in ~/.local/share/cheapskate-ci/psst.toml
going forward.
How to use cheapskate-ci as a required status to push to the default branch
- check out a feature branch
- push up some code
- run
cheapskate-ci run --status
- check out your default branch
- merge in that branch:
git merge --ff-only -
- push to your default branch (this will be allowed as long as the CI run succeeded)
If you use a pull request flow, you can do the same thing, but just open and merge the PR instead of merging locally.
Dependencies
~12–28MB
~373K SLoC