Skip to content

GitHub Actions

Track CI/CD workflow progress in real-time on your Lock Screen using the steps template.

How It Works

The pushward-github bridge container polls the GitHub Actions API for in-progress workflow runs and maps workflow progress to Live Activities using the steps template.

  1. Idle polling -- checks all configured repos every 60s for in-progress workflows
  2. Active tracking -- when a run is detected, polls jobs every 5s and updates progress
  3. Cleanup -- after the workflow completes, the activity is cleaned up after a configurable delay (default 15 min)

Setup

1. Get Your Integration Key

Open the PushWard app → Settings → Integration Key to find your default hlk_ key.

To create a dedicated key for this integration:

  1. Go to Settings → Manage Keys
  2. Tap +
  3. Set name (e.g. "GitHub Actions"), choose scope, and optionally restrict toactivity slugs
  4. Copy the generated hlk_ key

2. Create a GitHub Personal Access Token

Create a fine-grained PAT with actions:read permission on the repos you want to track.

3. Deploy the Bridge

docker-compose.yml
services:
  pushward-github:
    image: ghcr.io/mac-lucky/pushward-github:latest
    environment:
      PUSHWARD_URL: https://api.pushward.app
      PUSHWARD_API_KEY: hlk_YOUR_INTEGRATION_KEY
      PUSHWARD_GITHUB_TOKEN: ghp_YOUR_GITHUB_TOKEN
      PUSHWARD_GITHUB_OWNER: your-username  # auto-discovers all repos
      # OR specify repos explicitly:
      # PUSHWARD_GITHUB_REPOS: owner/repo1,owner/repo2
    restart: unless-stopped

Configuration

Environment VariableDescriptionDefault
PUSHWARD_URLPushWard server URL--
PUSHWARD_API_KEYIntegration key (hlk_ prefix)--
PUSHWARD_GITHUB_TOKENGitHub PAT with actions:read--
PUSHWARD_GITHUB_OWNERGitHub username for auto-discovery--
PUSHWARD_GITHUB_REPOSComma-separated owner/repo list--
PUSHWARD_PRIORITYActivity priority (0-10)1
PUSHWARD_POLL_IDLEIdle poll interval60s
PUSHWARD_POLL_ACTIVEActive poll interval5s
PUSHWARD_CLEANUP_DELAYDelay before cleanup after ENDED15m
💡 Tip

Use PUSHWARD_GITHUB_OWNER to auto-discover all your repos. The bridge refreshes the repo list every 5 minutes, skipping archived and disabled repos.

Activity Slug Format

Activities are created with the slug gh-{repo-name} (e.g. gh-pushward-server). One run is tracked per repository at a time.