Skip to content

fileformat/ghashboard

Use this GitHub action with your project
Add this Action to an existing workflow or create a new one
View on Marketplace

Repository files navigation

Github Actions Dashboard (aka ghashboard) Ghashboard Logo

build release Version

A tool for making dashboard pages with all the badges from your Github Actions.

Examples

VectorLogoZone example External badges example

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

Git Github golang Google Noto Emoji Markdown Shields.IO VectorLogoZone