Skip to content

Releases: codephilip/forge-ci

Forge 0.1.1

Choose a tag to compare

@codephilip codephilip released this 21 Sep 12:49

Changed

  • The runner strip explains itself: a one-line Runners header with the
    machine and runner count and what the cards are, a Machine / Runner
    tag on each card so the host can't be mistaken for a runner, the scope in
    plain words (serves owner/repo, serves the acme org instead of
    repo:owner/repo, org:acme), and a labels caption on the chips with a
    tooltip listing every label, including the hidden self-hosted, Linux and
    X64.

Fixed

  • A runner card's AI button could be pushed past the card's edge and clipped
    when a long scope name made the title row too wide.
  • On phones the FLAKY badge overflowed its row, and the runs column was a few
    pixels wider than the screen, so the page scrolled sideways.

Image: ghcr.io/codephilip/forge-ci:0.1.1 (also moves 0.1)

Forge 0.1.0

Choose a tag to compare

@codephilip codephilip released this 20 Sep 17:42

First public release.

Added

  • Live overview — jobs in flight with per-step progress and timers, runs
    across every watched repository, and a job timeline per run that marks the
    failing step.
  • Runner fleet — self-hosted runners (org- and repo-scoped) with idle / busy
    / offline state, current job, 24-hour utilisation, and optional runner-host
    CPU, memory and disk from Prometheus.
  • Testing view — every test and check suite with pass history, flaky
    detection, and result counts parsed from job logs for vitest, jest, go test,
    eslint and tsc, including the names of failing tests.
  • Cost view — self-hosted minutes priced at GitHub's per-minute rate, shown
    for the last 7 days.
  • Email alerts on a workflow's pass → fail transition, on recovery, and when
    a self-hosted runner has been offline past the grace period. Resend or SMTP.
  • AI explainer and chat (optional, Anthropic API) on any job, run, test suite
    or runner, with the job's steps, parsed results, failure-log excerpt and
    workflow file as context. First explanations are cached per item and state;
    per-IP rate limiting.
  • Install paths — one-line installer, Docker, Docker Compose, Kubernetes
    manifests, or plain Python with no dependencies.
  • Docs — configuration reference, how it works, and a self-hosted runner
    guide.

Known limitations

  • No authentication. Run it on a private network or behind an authenticating
    proxy.
  • Single instance only (SQLite, one writer).
  • GitHub Actions only.
  • Test counts come from log summaries; unrecognised runners still show pass/fail
    without counts.

Install: curl -fsSL https://raw.githubusercontent.com/codephilip/forge-ci/main/install.sh | bash

Image: ghcr.io/codephilip/forge-ci:0.1.0 (also 0.1, multi-arch amd64 + arm64)