Track your CI runs on PRs in a handy and beautiful desktop app.
I often have multiple PRs running CI in progress, and wish to have a better handle on CI completion. I used to use the GitHub CLI with a command similar to:
gh pr checks --watch; and <send desktop notification>
however I often lost track of which notification belonged to which branch. I wanted to build a desktop application that was good to look at.
- Live updating of PRs in progress
- System notifications on completion
- Links to the PR and checks
- Inline description of the PR for context
- Dark and light modes
Visit the project releases and download the latest application for your architecture.
On startup, the application will ask for your GitHub token. You can use gh auth token
if you have installed the GitHub CLI, or you can go to your tokens settings page and add a token. Then paste your token in the initial screen of the app.
When creating a token, we recommend using "Fine-grained tokens", as this minimises the permissions granted.
This project requires read-only access to the following scopes:
actions
for:/repos/{owner}/{repo}/actions/workflows
/repos/{owner}/{repo}/actions/workflows/{workflow_number}/runs
/repos/{owner}/{repo}/actions/runs/{run_number}/jobs
contents
for:/repos/{owner}/{repo}/pulls/{pr_number}
for any repository you wish to track.
This application can be configured by creating a gh-actions-monitor/config.toml
file in your systems configuration dir. This file should be placed in your XDG_CONFIG_HOME
directory. See the table in the documentation to the dirs::config_dir
function to locate your XDG_CONFIG_HOME
directory.
For example, on Linux this configuration file will be located at ~/.config/gh-actions-monitor/config.toml
.
This application reports errors with Sentry. If you do not wish to send error reports, you can disable this functionality by setting enable_sentry = false
in your config file.
This project is written in Rust using the Tauri application framework. The frontend is written in React using TypeScript, with shadcn/ui and tailwind for styling.
rust
pnpm
pnpm install
in the top level dirpnpm start
to start the application in "development" mode, where the UI will hot reload, and changes to the Rust code will cause a recompilation and restart of the app.