GitHub Actions Status Helper

Problem

Often when I'm pushing code to a GitHub repository, GitHub Actions workflows will automatically execute and deploy the changes to staging or production.

Usually I want to track the progress of the workflow to make sure it completes without any errors and to know when the changes are live in the target environment.

At the moment this requires manually opening the GitHub page in a web browser and selecting the current workflow run. There is a extension to view workflow runs directly in VS Code but it's not realtime and doesn't detect new workflow runs automatically.

Solution

My idea is to create a small utility app which sits in the macOS status bar and detects new workflow runs as soon as they are started. It should show the progress of each running workflow in realtime and allow me to open the logs quickly in my default browser.

Implementation

The app can use a GitHub App to connect to all or selected repositories of a user or organization. Using the workflow_run webhook, it can be notified of requested and updated workflow runs and update it's status accordingly.

To receive the webhook, a central server is required. The local app could use WebSockets to stream realtime updates from the server and update it's local state.