- Notifications
You must be signed in to change notification settings - Fork5
Customizable dashboard for monitoring GitHub Actions workflows across repositories
License
lincc-frameworks/lf-workflow-dash
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
LF Workflow Dash is your easy solution for monitoring and managing GitHub Actions workflows.
Track workflows across any number of repositories, check status and other relevant metrics, and quickly modify via yaml, all in one customizable dashboard.
Powered by theGitHub REST API,LF Workflow Dash regularly retrieves data on specified GitHub Actions workflow runs and updates the dashboard HTML. This process is managed through scheduled GitHub workflows, and the output can be hosted easily using GitHub Pages.
Click any of the badges at the top of the README to view a dashboard.
Keep reading to learn about modifying an existing dashboard, or how to build your own dashboard.
Modify the YAML in this repo
Modify
config/tracked_workflows.yaml
to customize theLF dashboard. Add or remove repositories and workflows as needed. The format to follow is:repos: -repo:REPO_NAMEowner:OWNER_NAME# github organizationsmoke-test:smoke-test.ymlbuild-docs:build-documentation.ymlbenchmarks:asv-nightly.ymllive-build:testing-and-coverage.ymlother_workflows:# Add more workflows if necessary
We have columns for these 4 workflows, and the value should be the leaf yamlfile name. If you have additional workflows, you can add them as
other_workflows
.Or, submit an Issue
If you'd like to suggest changes or need assistance with modifying the YAML, feel free to open an issue in this repository. We'll be happy to help!
Fork this Repository
Feel free to delete
rail.html
andrail_tracked_workflows.yaml
right away.Modify Your Tracked Workflows
Follow the instructions inModify the LF Dashboard to make changes to your
tracked_workflows.yaml
file.Activate GitHub Actions
Fresh forks require manual activation of GitHub Actions. Visit the "Actions" tab in your repository and enable the workflows.
When enabled, the github workflow
.github/workflows/main.yml
will run every15 minutes to refresh the status of your dashboard.Authorization
GitHub builds: Your personal access token will be automatically generated when running the workflow on GitHub.
Local builds: To build the HTML locally, run the following command in your repository:
python update_dashboard.py PERSONAL_ACCESS_TOKEN ./config/tracked_workflows.yaml index.html
You can generate a personal access token following theseGitHub token generation steps.
Feel free to replace
tracked_workflows.yaml
with whatever input yaml you'd like; likewise, replaceindex.html
with your desired output path.Page Title, Favicon, and Footer
Remember to customize your
<title>
tag, your favicon, and the footer at the bottom of the page that links to the dashboard's repo.Note that these need to be changed in
templates/dash_template.jinja
, as any changes made to an HTML file will be overwritten.GitHub Pages (Optional)
If you want to host your dashboard on GitHub Pages, you'll need toset up your repository for GitHub Pages.The github action for this repository will put the rendered HTML into a
gh-pages
branch, that should be used for hosting your Pages.Alternatively, you can use theGitHub HTML Preview Tool to see your HTML without hosting it yourself.
For example, here'sLF dashboard via GitHub HTML Preview.
Timezones (Optional)
We specify timezones for both the commit message timestamp and the dashboard times. If you want a different timezone, update it in both
main.yml
andupdate_dashboard.py
.
That's it! You're ready to start monitoring your GitHub Actions workflows with your very own version of the LF dashboard.
Contributions are welcome!
If you have ideas for improvements or bug fixes, please feel free to open an issue or submit a pull request.
This project is licensed under the MIT License - see theLICENSE file for details.