Skip to content

Latest commit

 

History

1 Commit

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🚀 GitHub Pipeline Status Monitor

A sleek macOS menu bar application that monitors your GitHub repositories' CI/CD pipeline status in real-time. Get instant visual feedback on your workflows without opening a browser.

Status Icons Python macOS

✨ Features

  • Real-time Monitoring: Continuously checks your GitHub repositories' workflow status
  • Visual Status Indicators:
    • 🟢 All pipelines healthy
    • 🟡 Pipeline in progress
    • 🟠 Pipeline in progress and some pipeline failures
    • 🔴 Pipeline failed
    • ⏳ Loading
    • 💀 Error (connection issues)
  • Quick Access: Click to open failed repositories directly in your browser
  • Menu Bar Integration: Always visible in your macOS menu bar
  • Lightweight: Minimal resource usage with efficient polling

🛠️ Installation

Prerequisites

  • macOS 10.15 or later
  • Python 3.13+
  • Poetry (for dependency management)

Setup

  1. Clone the repository

    git clone https://github.com/matthewrayuk/pipeline_mac_app.git
    cd pipeline_mac_app
  2. Install dependencies

    poetry install
  3. Configure environment variables

    Create a .env file in the project root:

    GH_TOKEN=your_github_personal_access_token
    GH_USER=your_github_username

    Getting a GitHub Token:

    • Go to GitHub Settings → Developer settings → Personal access tokens
    • Generate a new token with repo and workflow permissions
    • Copy the token to your .env file
  4. Run the application

    poetry run python app.py

🚀 Usage

Once running, the app will appear in your menu bar with one of these status indicators:

  • ⏳ Initializing: App is starting up
  • 🟢 All Healthy: All your repositories' pipelines are passing
  • 🟡 In Progress: At least one pipeline is currently running
  • 🟠 Mixed Status: Some pipelines running and some failed
  • 🔴 Failed: At least one pipeline has failed
  • 💀 Error: Connection or authentication issues

Menu Options

  • Open All Failed Repos: Opens all failed repositories in your default browser
  • Open All Running Repos: Opens all running repositories in your default browser
  • All Repos Healthy: Shows a confirmation when all pipelines are successful

🏗️ Building

To create a standalone macOS application:

just build

This will create a GitHub Pipeline App executable in the dist/ directory.

🛠️ Development

Available Commands

# Install dependencies
just install

# Run the application
just run

# Format and lint code
just format

# Run full linting checks
just lint

# Clean cache files
just clean

# Build standalone app
just build

Project Structure

pipeline_mac_app/
├── app.py          # Main application logic
├── github.py       # GitHub API integration
├── models.py       # Data models
├── .env            # Environment variables (create this)
├── pyproject.toml  # Project dependencies and settings
├── Justfile        # Development commands
└── icon.icns       # Application icon

🔧 Configuration

The app uses environment variables for configuration:

  • GH_TOKEN: Your GitHub Personal Access Token
  • GH_USER: Your GitHub username

Note: Make sure to keep your GitHub token secure and never commit it to version control. The .env file is already included in .gitignore for your safety.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages