Github Actions Dashboard (aka ghashboard)
A tool for making dashboard pages with all the badges from your Github Actions.
Examples
Using via Github Actions
It works really well to as a generator for Github profiles (example: workflow yaml and resulting profile).
You will need to give it a personal access token (PAT) that has rights to all the repos. The standard GITHUB_TOKEN
for the action is limited to only its own repo.
This has to be a Personal Access Token (classic). If you are only doing public repos, you can give it just the single repo:public_repo
permission. If you are doing private repos, you need to give it the whole repo
permission.
I wasn't able to get a fine-grained token to work, though theoretically it should be possible.
Using via CLI
Download the latest version from the Github Releases page
You can use gh auth token
to get working access token.
A sample command:
export GITHUB_TOKEN=$(gh auth token)
ghashboard --owners=google,spf13
Options
Either as inputs for the Github Action or flags for the CLI.
Notes:
- either
owners
or repos
is required.
- either
public
or private
must be true
Name |
Description |
archived |
include archived repos? (default is false ) |
empty |
include repos with no workflows: useful if you have external badges (default is false ) |
exclude |
workflows to exclude (comma-separated list) |
externals |
external badges (list) to include. Note that these usually only work with public repos |
footer |
footer text |
forks |
include forked repos? |
format |
output format: csv , markdown or json . json is good for debugging. (default is markdown ) |
header |
header text |
inactive |
include inactive workflows? |
include |
workflows to include: others will be skipped (comma-separated list) |
log-level |
log level: debug , info , warn or error |
output |
output file to create (or - for stdout) |
owners |
list of owners (comma-separated list) |
private |
include private repos? |
public |
include public repos? |
repos |
list of repos (comma-separated list) |
skip |
exclude specific repos (use owner/name ) |
title |
title text |
token |
Github token: not absolutely required, but you will run into rate-limits without one |
Frequently Asked Questions
How do you pronounce it?
It is pronounced (in an upper-crust accent) "gosh-board", not "gashboard" like some sort of horror flick.
Can I have only a specific set of repos?
Yes! Make a list outside of ghashboard in a file (one line per repo) and use --repos @repolist.txt
. You can build a list with the gh CLI. For example: gh repo list --json nameWithOwner --jq '.[].nameWithOwner'
.
Why is are the badges showing up as broken images for my private repos?
The page needs to be hosted on Github: otherwise the Github doesn't know who you are and that you have the necessary rights.
Developing
See run.sh
for how I run it during development.
Contributing
Contributions welcome!
License
MIT
Credits