Browse Source
* feat(github): add statuses badge
Signed-off-by: Charlike Mike Reagent <olsten.larck@gmail.com>
* chore: update index
Signed-off-by: Charlike Mike Reagent <olsten.larck@gmail.com>
* docs: update examples for github status
docker-size
Amio /
6 years ago
committed by
GitHub
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with
43 additions and
0 deletions
-
libs/index.md
-
libs/live-fns/github.js
|
|
@ -70,6 +70,10 @@ Advanced usage (for badge makers): |
|
|
|
['latest stable release', '/github/release/babel/babel/stable'], |
|
|
|
['latest tag', '/github/tag/micromatch/micromatch'], |
|
|
|
['watchers', '/github/watchers/micromatch/micromatch'], |
|
|
|
['status', '/github/status/micromatch/micromatch'], |
|
|
|
['status (branch)', '/github/status/tunnckoCore/badgen-service/github-status'], |
|
|
|
['status (branch)', '/github/status/micromatch/micromatch/gh-pages'], |
|
|
|
['status (commit)', '/github/status/micromatch/micromatch/f4809eb6df80b'], |
|
|
|
['stars', '/github/stars/micromatch/micromatch'], |
|
|
|
['forks', '/github/forks/micromatch/micromatch'], |
|
|
|
['issues', '/github/issues/micromatch/micromatch'], |
|
|
|
|
|
@ -37,6 +37,8 @@ module.exports = async (topic, ...args) => { |
|
|
|
return downloads(args[0], args[1], '/latest') |
|
|
|
case 'release': |
|
|
|
return release(...args) |
|
|
|
case 'status': |
|
|
|
return singleStatus(...args) |
|
|
|
case 'dependents-repo': |
|
|
|
return dependents('REPOSITORY', ...args) |
|
|
|
case 'dependents-pkg': |
|
|
@ -67,6 +69,43 @@ const queryGithub = query => { |
|
|
|
}).then(res => res.body) |
|
|
|
} |
|
|
|
|
|
|
|
const singleStatus = async (user, repo, ref = 'master') => { |
|
|
|
const statuses = await restGithub(`repos/${user}/${repo}/commits/${ref}/status`) |
|
|
|
|
|
|
|
switch (statuses.state) { |
|
|
|
case 'success': |
|
|
|
return { |
|
|
|
subject: 'status', |
|
|
|
status: 'success', |
|
|
|
color: 'green' |
|
|
|
} |
|
|
|
case 'error': |
|
|
|
return { |
|
|
|
subject: 'status', |
|
|
|
status: 'error', |
|
|
|
color: 'red' |
|
|
|
} |
|
|
|
case 'failure': |
|
|
|
return { |
|
|
|
subject: 'status', |
|
|
|
status: 'failure', |
|
|
|
color: 'red' |
|
|
|
} |
|
|
|
case 'pending': |
|
|
|
return { |
|
|
|
subject: 'status', |
|
|
|
status: 'pending', |
|
|
|
color: 'orange' |
|
|
|
} |
|
|
|
default: |
|
|
|
return { |
|
|
|
subject: 'status', |
|
|
|
status: 'unknown', |
|
|
|
color: 'grey' |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
const release = async (user, repo, channel) => { |
|
|
|
const releases = await restGithub(`repos/${user}/${repo}/releases`) |
|
|
|
|
|
|
|