cheapskate-ci

Crates.iocheapskate-ci
lib.rscheapskate-ci
version0.1.8
sourcesrc
created_at2018-07-22 01:55:44.495501
updated_at2023-08-21 16:15:44.445943
descriptionCLI for those who are too cheap to pay for CI but still want required GitHub status checks. Now they can run this locally.
homepage
repositoryhttps://github.com/maxjacobson/cheapskate-ci
max_upload_size
id75432
size52,631
Max Jacobson (maxjacobson)

documentation

README

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.

Commit count: 57

cargo fmt