Repository navigation
Releases: canblmz1/runkeep
Releases · canblmz1/runkeep
Release list
runkeep v0.1.0
What it does
runkeep shows how much of a GitHub repo's CI history sits outside the upcoming 90-day
retention window, and archives that history into a local SQLite database.
GitHub announced
that starting October 1, 2026, workflow runs, checks, and statuses will be governed by
the Actions retention setting — a maximum of 90 days for public repositories, which cannot be
raised.
Commands
uvx runkeep check OWNER/REPO # read-only, no token needed for public repos
runkeep rescue OWNER/REPO # archive the history into <repo>.db
runkeep verify archive.db OWNER/REPO # re-query GitHub and confirm the archivev0.1.0 includes
- fast public-repo exposure check
- resumable historical workflow-run discovery (recursive
created=slicing, day -> hour ->
minute -> second) - workflow runs, check suites, and all check-run attempts (
filter=all, neverlatest) - legacy commit status contexts
- independent third-party check suites (Codecov, CodSpeed, Renovate, ...) with adaptive
GraphQL batching and a narrow REST fallback - portable single-file SQLite archive (WAL, foreign keys, idempotent upserts)
- live archive verification — an internal invariant check plus a spot-check against GitHub
through a separate code path - read-only GitHub access; the token is never written to the archive,
--json, or logs
Not included
runkeep does not archive job steps, annotations, build logs, or artifacts. It is not
a complete GitHub Actions backup. Logs and artifacts are, for old history, almost always
already deleted at source by GitHub's existing retention window.
Install
From PyPI: uvx runkeep, pipx install runkeep, or
pip install runkeep. Python 3.10+, no dependencies.
Full fidelity contract: docs/fidelity.md.