Skip to content

Latest commit

 

History

History
46 lines (30 loc) · 1.32 KB

README.md

File metadata and controls

46 lines (30 loc) · 1.32 KB

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.