Hub CI Status
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
pending
$ echo $?
2
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
failure
$ echo $?
1
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
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
.
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 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
.
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).
Installation
This package can be
installed using npm, either globally or locally, by
running:
npm install hub-ci-status
Contributing
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.
License
This project is available under the terms of the MIT License.
See the summary at TLDRLegal.