Watch your GitHub Actions CI/CD logs live in the browser

Add a single curl step to any GitHub Actions job. Log lines stream to your browser in real time as the workflow runs — filterable, shareable, and visible to your whole team without needing a GitHub account.

The problem

You push a deploy and then refresh the GitHub Actions UI every 30 seconds. Log lines appear in batches, not in real time. You can't filter by keyword mid-run, can't share a live view with a stakeholder who doesn't have a GitHub account, and the moment the run finishes the live tail is gone.

For long-running workflows — database migrations, multi-stage builds, end-to-end test suites — waiting blind is frustrating. You want to see what's happening now, not after.

The solution

Add a run step that pipes output to BunnyLogs via curl. Open bunnylogs.com/live/<your-uuid> in any browser. Log lines appear in real time as each step runs — with level, step name as the program label, and full-text search after the run completes.

Share the URL with a product manager, a client, or a teammate who isn't on GitHub. Set a keyword alert so you get a Slack ping the moment "ERROR" or "FAILED" appears in any run.

After the run

  • All log lines are indexed in Elasticsearch
  • Search across 30 days of CI runs for a specific error
  • Compare output between runs using date filters
  • Alert on any keyword — catch regressions automatically
.github/workflows/deploy.yml
name: Deploy

on:
  push:
    branches: [main]

env:
  BUNNY_URL: https://bunnylogs.com/live/YOUR-UUID

jobs:
  deploy:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4

      - name: Log start
        run: |
          curl -s $BUNNY_URL \
            -d "message=Deploy started by $GITHUB_ACTOR" \
            -d "level=INFO" -d "program=github-actions"

      - name: Run migrations
        run: |
          python manage.py migrate 2>&1 | while read line; do
            curl -s $BUNNY_URL -d "message=$line" \
              -d "program=migrate" -d "level=INFO"
          done

      - name: Log finish
        run: |
          curl -s $BUNNY_URL \
            -d "message=Deploy complete ✓" \
            -d "level=INFO" -d "program=github-actions"
Tip: fail-fast alerting

Set a BunnyLogs alert for the keyword Error or FAILED in this stream. You'll get a Slack or webhook notification the moment a CI step fails — before GitHub even sends its email.

Set up alerts →

Never stare at the GitHub UI again

Real-time CI logs in your browser. Free to start.

Get started free Read the docs →