A reimplementation of the ci-status subcommand of hub(1) in JavaScript for checking the GitHub CI and checks status of a commit with Node.

Usage no npm install needed!

<script type="module">
  import hubCiStatus from '';


Hub CI Status

Build Status Coverage Dependency Status Supported Node Version Version on NPM

A reimplementation of the ci-status subcommand of hub in JavaScript for querying the GitHub CI status and checks status of a commit using Node.

Introductory Examples

To get the combined CI and checks status of the checked out commit, invoke hub-ci-status in a git repository with a GitHub remote:

$ hub-ci-status
$ echo $?

Status of Branch/Tag/Commit

To get the status of a particular commit, pass the name (any name suitable for git rev-parse) as an argument:

$ hub-ci-status mybranch
$ echo $?

Wait for Pending

If the CI status or checks may not have completed, the -w/--wait option can be passed (with an optional timeout in seconds) to wait until the status is not pending:

$ hub-ci-status --wait 60
$ echo $?

By default, the process will exit as soon as any CI status or check fails. To wait until all statuses/checks have finished, add -W/--wait-all.

Verbose Output

For more verbose output, including the status context and target URL, pass the -v/--verbose option:

$ hub-ci-status -v
●	Test on Node.js * x64 on windows-latest
●	Test on Node.js 10 x64 on windows-latest
●	Test on Node.js 10 x64 on ubuntu-latest
✔︎	Lint and Test on Node.js * x64 on ubuntu-latest

Note: This option can be passed twice to print progress messages for --wait to stderr.

Additional Features

This module supports a few features which are not supported by hub ci-status:

  • --wait flag allows waiting until the status is not pending, with a configurable timeout. (github/hub#1809)
  • --wait-all flag allows waiting until all statuses and checks are not pending (rather than exiting after first failure).


This package can be installed using npm, either globally or locally, by running:

npm install hub-ci-status


Contributions are appreciated. Contributors agree to abide by the Contributor Covenant Code of Conduct. If this is your first time contributing to a Free and Open Source Software project, consider reading How to Contribute to Open Source in the Open Source Guides.

If the desired change is large, complex, backwards-incompatible, can have significantly differing implementations, or may not be in scope for this project, opening an issue before writing the code can avoid frustration and save a lot of time and effort.


This project is available under the terms of the MIT License. See the summary at TLDRLegal.