Skip to content

CLI for those who are too cheap to pay for CI but still want required GitHub status checks. Now they can run this locally.

Notifications You must be signed in to change notification settings

maxjacobson/cheapskate-ci

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

57 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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.

About

CLI for those who are too cheap to pay for CI but still want required GitHub status checks. Now they can run this locally.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages