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.
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 pending $ echo $? 2
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 failure $ echo $? 1
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 success $ echo $? 0
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
.
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 https://github.com/kevinoid/hub-ci-status/runs/1808395138 ● Test on Node.js 10 x64 on windows-latest https://github.com/kevinoid/hub-ci-status/runs/1808395109 ● Test on Node.js 10 x64 on ubuntu-latest https://github.com/kevinoid/hub-ci-status/runs/1808395075 ✔︎ Lint and Test on Node.js * x64 on ubuntu-latest https://github.com/kevinoid/hub-ci-status/runs/1808388960 success
Note: This option can be passed twice to print progress messages for --wait
to stderr
.
This module supports a few features which are not supported by hub ci-status
:
--wait
flag allows waiting until the status is notpending
, with a configurable timeout. (github/hub#1809)--wait-all
flag allows waiting until all statuses and checks are notpending
(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.