LiNkIeZ'Pipeline Viewer

December 13, 2025 ยท View on GitHub

Visual Studio Code extension that monitors GitHub Actions from open workspace repositories and displays pipeline status in real-time.

๐Ÿš€ Features

  • โœ… Status Bar - Quick view of aggregated status for all pipelines
  • ๐Ÿ“Š Tree View - Hierarchical list of repositories, workflows, and runs
  • ๐ŸŽฏ Overview Widget - Visual graph showing pipeline progress at a glance
  • ๐ŸŽจ Webview Panel - Detailed pipeline visualization with job timelines
  • ๐Ÿ”„ Auto-refresh - Automatic updates with intelligent polling
  • ๐Ÿ”” Smart Notifications - Alerts for status changes with rate limiting
  • ๐Ÿ” Auto-detection - Automatically detects workspace repositories via git remotes
  • ๐Ÿ” Secure Authentication - Secure storage of GitHub Personal Access Token
  • โšก ETag Caching - Optimized API usage with ~50% reduction in requests
  • ๐Ÿ“Š Rate Limit Management - Automatic monitoring and pause when approaching limits
  • ๐ŸŽฏ Loading Indicators - Visual feedback during data refresh

๐Ÿ“ฆ Installation

Via VSIX (Development)

  1. Clone the repository:
git clone https://github.com/your-username/GithubActionPipelineView.git
cd GithubActionPipelineView
  1. Install dependencies:
npm install
  1. Compile the project:
npm run compile
  1. Press F5 in VS Code to start the extension in development mode

Via Marketplace (Coming Soon)

Search for "GitHub Actions Pipeline View" in the VS Code Marketplace.

๐Ÿ”ง Configuration

1. GitHub Authentication

On first run, you will be prompted to configure a GitHub Personal Access Token.

To create a token:

  1. Go to GitHub โ†’ Settings โ†’ Developer settings โ†’ Personal access tokens
  2. Click "Generate new token (classic)"
  3. Select required scopes:
    • โœ… repo - Access to private repositories
    • โœ… workflow - Manage workflows
  4. Copy the generated token
  5. Run the command GitHub Actions: Set GitHub Token in VS Code
  6. Paste the token when prompted

2. Available Settings

Go to Preferences > Settings and search for "GitHub Actions":

{
  // List of repositories to monitor manually (format: owner/repo)
  "githubActions.repositories": [
    "microsoft/vscode",
    "facebook/react"
  ],

  // Refresh interval in seconds (minimum: 10)
  "githubActions.refreshInterval": 60,

  // Show notifications for status changes
  "githubActions.showNotifications": true,

  // Automatically detect repositories from workspace
  "githubActions.autoDetectRepositories": true,

  // Notify when workflows complete successfully
  "githubActions.notifyOnSuccess": false,

  // Notify when workflows fail
  "githubActions.notifyOnFailure": true
}

๐Ÿ“– Usage

Status Bar

At the bottom of the VS Code window, you will see an icon with the aggregated status of pipelines:

  • โœ“ Pipelines: 3/5 passing - Some repositories with success
  • โœ— Pipelines: 2 failing - Workflows failing
  • โŸณ Pipelines: building... - Workflows in progress
  • โŠ˜ No pipelines - No data available

Click the status bar to focus on the tree view.

Tree View

The LiNkIeZ'Github Actions section in Explorer sidebar shows:

๐Ÿ“ Repository (owner/repo)
  โ””โ”€โ”€ ๐Ÿ“‹ Workflow Run #123
      โ”œโ”€โ”€ Branch: main
      โ”œโ”€โ”€ Commit: abc1234
      โ””โ”€โ”€ Status: โœ… success

Actions (right-click):

  • ๐Ÿ”„ Refresh - Reload pipeline data
  • ๐ŸŒ Open in GitHub - View in browser
  • ๐Ÿ‘๏ธ Show Details - Open webview panel
  • ๐Ÿ” Re-run Workflow - Re-execute failed workflow
  • ๐Ÿ“‹ Copy Run URL - Copy URL to clipboard

Webview Panel

Right-click a workflow run and select "Show Details" to open a detailed view with:

  • ๐Ÿ“Š Job Timeline - Visual representation of job execution
  • ๐ŸŽจ Progress Bars - Real-time progress for running jobs
  • ๐ŸŽฏ Status Colors - Green (success), Red (failure), Yellow (in progress)
  • โš™๏ธ Action Buttons - Re-run, Cancel, Open in GitHub
  • ๐Ÿ“ Job Details - Steps, runner info, execution times

Available Actions:

  • Re-run failed jobs - Retry only failed jobs
  • Re-run all jobs - Re-execute entire workflow
  • Cancel workflow - Stop running workflow
  • Open in GitHub - View full details in browser
  • โŸณ Pipelines: running - Workflows in progress
  • โŠ˜ Pipelines: no data - No data available

Click the status bar to force refresh.

Overview Widget (Right Status Bar)

Visual graph showing pipeline progress at a glance:

  • โ–ˆ - Successful pipelines (green)
  • โ–“ - Failed pipelines (red)
  • โ–’ - In-progress pipelines (yellow)
  • โ–‘ - Queued/empty segments (gray)

The 5-segment graph provides instant visual feedback about overall pipeline health. Hover over it for detailed stats and repository breakdown.

Tree View

In the Explorer sidebar, you will see the "GitHub Actions" view with:

๐Ÿ“ GitHub Actions
  โ”œโ”€ ๐ŸŸข repository-name
  โ”‚   โ”œโ”€ โœ“ Build and Test โ€ข main โ€ข #123 โ€ข success
  โ”‚   โ”œโ”€ โŸณ Deploy โ€ข develop โ€ข #122 โ€ข running...
  โ”‚   โ””โ”€ โœ— CI โ€ข feature/x โ€ข #121 โ€ข failure
  โ””โ”€ ๐ŸŸก another-repo
      โ””โ”€ โŸณ Tests โ€ข main โ€ข #45 โ€ข running...

Available actions:

  • Click a run to view details (coming soon)
  • Right-click โ†’ "Open in GitHub" - Opens in browser
  • Right-click โ†’ "Re-run" - Re-runs failed workflow

Commands

Press Ctrl+Shift+P (or Cmd+Shift+P on Mac) and type:

  • GitHub Actions: Refresh Pipelines - Manually refreshes all pipelines
  • GitHub Actions: Set GitHub Token - Configures/updates authentication token
  • GitHub Actions: Open in GitHub - Opens selected workflow in browser
  • GitHub Actions: Re-run Workflow - Re-runs failed workflow

๐Ÿ—๏ธ Architecture

src/
โ”œโ”€โ”€ extension.ts           # Entry point - activation/deactivation
โ”œโ”€โ”€ types.ts               # TypeScript interfaces and types
โ”œโ”€โ”€ githubApi.ts          # GitHub REST API client (Octokit)
โ”œโ”€โ”€ statusBar.ts          # Status bar item management
โ”œโ”€โ”€ treeView.ts           # TreeDataProvider for sidebar
โ”œโ”€โ”€ pipelineMonitor.ts    # Polling and monitoring system
โ””โ”€โ”€ webviewPanel.ts       # Detailed visualization (in development)

๐Ÿ”„ Monitoring

The extension uses adaptive polling:

  • High frequency (30s): when there are workflows running
  • Low frequency (configurable): when all workflows are idle
  • On-demand: manual refresh via command

The system respects GitHub API rate limits (5,000 requests/hour for authenticated users).

๐Ÿšง Roadmap

Current Phase: MVP (Sprint 1-5) โœ…

  • Project setup
  • GitHub authentication
  • Status bar
  • Tree view
  • Monitoring system
  • Repository auto-detection
  • Notifications
  • Webview panel with detailed visualization
  • ETag caching for API optimization
  • Rate limit monitoring and auto-pause
  • Notification rate limiting
  • Loading indicators

Next Phases

Phase 7: Advanced Features (Sprint 7)

  • Filters by status/branch
  • Multi-select support in tree view
  • Run comparison
  • Artifact management
  • Multi-workspace support
  • Statistics and insights

Phase 8: Polish (Sprint 8)

  • Automated tests
  • Complete documentation with screenshots
  • Performance optimization
  • Extension icon design
  • Marketplace publication

๐Ÿค Contributing

Contributions are welcome! Please:

  1. Fork the project
  2. Create a branch for your feature (git checkout -b feature/AmazingFeature)
  3. Commit your changes (git commit -m 'feat: add amazing feature')
  4. Push to the branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

Local Development

# Install dependencies
npm install

# Compile TypeScript
npm run compile

# Compile in watch mode
npm run watch

# Run tests
npm test

# Lint
npm run lint

๐Ÿ“ Commit Conventions

We follow the Conventional Commits standard:

  • feat: - New feature
  • fix: - Bug fix
  • docs: - Documentation only
  • style: - Formatting, semicolons, etc.
  • refactor: - Code refactoring
  • test: - Add or fix tests
  • chore: - Build, CI changes, etc.

๏ฟฝ Releases

This project uses semantic-release for automated versioning and package publishing.

How Releases Work

  1. Automatic Versioning: Version bumps are determined by commit messages

    • feat: commits trigger minor releases (0.x.0)
    • fix: commits trigger patch releases (0.0.x)
    • BREAKING CHANGE: in commit body triggers major releases (x.0.0)
  2. GitHub Releases: Automatically created with changelog

  3. VSIX Packages: Built and attached to releases

  4. Changelog: Auto-generated from commit messages

Download Extension

Download the latest .vsix file from Releases and install via:

code --install-extension github-actions-pipeline-view-*.vsix

๐Ÿ“„ License

This project is licensed under the MIT License. See the LICENSE file for more details.

๐Ÿ™ Acknowledgments

๐Ÿ“ž Support

Found a bug or have a suggestion?


Version: 0.1.0 Status: In active development Author: linkiez